2

我是 highcharts 和 R highcharter 的新手。我有一个这样的数据框

tmp <- data.frame(x = 1:5, y = rnorm(5), color = c("green", "red", "green", "orange", "red"))
# x       y  color
# 1  0.4421  green
# 2 -0.8924    red
# 3  0.8264  green
# 4  0.6695 orange
# 5 -0.0966    red

我想使用 highcharter 绘制它。 在此处输入图像描述

对于点颜色,我想让点颜色成为数据框中的对应颜色。

我应该怎么办?即使它是 R 代码,任何 JS 中的解决方案都会很感激,因为我可以用 R 重写它。

4

2 回答 2

2

如果您以十六进制格式提供颜色变量,highcharter 将识别颜色

tmp <- data.frame(x = 1:5, y = rnorm(5), color = c("#00FF00", "#FF0000", "#00FF00", "#ffa500", "#FF0000"))

hchart(tmp, "line", hcaes(x, y, color = color))

在此处输入图像描述

于 2017-10-26T20:52:37.847 回答
1

稍微改进的解决方案:

set.seed(1)
tmp <- data.frame(x = 1:5, y = rnorm(5), 
          color = c("green", "red", "green", "orange", "red"))
dummy <- "two"

library(highcharter)
hchart(tmp, type="scatter", hcaes(x=x, y=y, color=color), 
       marker=list(symbol='circle', radius=5), zIndex=1) %>% 
  hc_add_series(tmp, type="line", color="lightblue", zIndex=0)

在此处输入图像描述

于 2017-10-26T21:41:28.070 回答