如何使用ggvis :: scaled_value()设置辅助轴的范围?

时间:2015-09-26 21:37:41

标签: r ggvis

最小可重现性问题

我可以创建如下的辅助轴:

ggvis(mtcars, x = ~disp, y = ~mpg) %>%
  add_relative_scales() %>%
  scale_numeric("x", name = "foo", domain = c(0, 600), range = 300) %>%
  add_axis("x", scale = "foo", offset = 50, grid = FALSE)

但是,似乎range只能是数字向量(长度为1或2)或文字"width"

我以为我可以用scaled_value()写一些东西,比如:

ggvis(mtcars, x = ~disp, y = ~mpg) %>%
  add_relative_scales() %>%
  scale_numeric("x", name = "foo", domain = c(0, 600), range = scaled_value("x_rel", 0.3)) %>%
  add_axis("x", scale = "foo", offset = 50, grid = FALSE)

...但我得到Error: x is not a numeric or integer vector

help(add_legend)中的示例(使用x控制yscaled_value)以及help(scaled_value)中的文字(“这些示例适用于传说和轴“)告诉我,我应该能够以某种方式指定辅助轴的range,而不是像素(或文字"width""height")。

我已经在add_axisaxis_props进行了探测,但我不能为我的生活弄清楚这应该如何起作用。

感谢所有见解!

我的直接用例

...是一系列堆积区域图,其中主要y轴是MMTCO2eq中的温室气体排放(科学家),x轴是年份(1990-2050),次要y轴 - 右侧 - 是相对于1990年总数的价值,以百分比表示(对政策制定者而言)。

在加利福尼亚州,AB 32将2020年,2030年和2050年的温室气体目标设定为1990年总数的百分比。我使用二级比例覆盖通过这些目标的轨迹,我想绘制从0%到100%的辅助轴。

例如,如果1990年总数为66.7 MMTCO2eq,那么我认为我希望range = c(scaled_value("y_rel", 1.0), scaled_value("y", 66.7))用于次要比例(次要轴将参考)。

0 个答案:

没有答案