我遇到了一个问题,我无法为我正在处理的图表的不同部分添加颜色。我想根据y轴上的阈值更改颜色。从高级图表javascript查看文档似乎很容易,但是当我尝试将其转换为R以使用rCharts时它失败了。这是我所拥有的,带有一个名为final的示例数据框。
library(rCharts)
final <- data.frame(x = c(1,2,3,4,5), y = c(15,17,20,21,22), radius = rep(3,5))
temp <- apply(final[,c("x","y","radius"])], 1, as.list)
a <- Highcharts$new()
a$series(animation = FALSE, name = "placeholder", data = temp, type = "scatter",
lineWidth = 1, zoneAxis = "y", zones = list(list(value = 20,
color = "rgba(223, 83, 83, 0.5)"),
list(color = "rgba(50, 205, 50, 0.5)")))
这不会改变默认颜色的情节,所以我很困惑,非常感谢任何帮助或可能的其他解决方案。谢谢!
这是根据区域的文档建模的:http://www.highcharts.com/docs/chart-concepts/series#4aaN
答案 0 :(得分:1)
以下是我不明白的观点:
此代码在]
内部c()
没有任何意义;
temp <- apply(final[,c("x","y","radius"])], 1, as.list)
我的意图是,选择所有列,可以通过简单的方法实现:
temp <- apply(final[ , ], 1, as.list)
但是这个代码对我来说似乎也很奇怪,因为只需得到相同的结果:
temp <- apply(final, 1, as.list)
temp
[[1]]
[[1]]$x
[1] 1
[[1]]$y
[1] 15
[[1]]$radius
[1] 3
[[2]]
[[2]]$x
[1] 2
[[2]]$y
[1] 17
[[2]]$radius
[1] 3
[[3]]
[[3]]$x
[1] 3
[[3]]$y
[1] 20
[[3]]$radius
[1] 3
[[4]]
[[4]]$x
[1] 4
[[4]]$y
[1] 21
[[4]]$radius
[1] 3
[[5]]
[[5]]$x
[1] 5
[[5]]$y
[1] 22
[[5]]$radius
[1] 3
如果你当然想要那个。
我改变了颜色,即使我不得不承认我已经实现了这个解决方案,因为我不知道rgba
函数所属的包。
我将rgba
更改为rgb
,我没有引用它(您确定应该引用它吗?)并将max = 255
设置为rgb
。这是代码。
a$series( animation = FALSE, name = "placeholder",
data = temp, type = "scatter",
lineWidth = 1, zoneAxis = "y",
zones = list(list(value = 20,
color = rgb(223, 83, 83, 0.5, max = 255)),
list(color = rgb(50, 205, 50, 0.5, max = 255))
)
)