我试图在高亮闪亮的R中创建一个散点图,但我需要分别为点赋予不同的颜色。例如,考虑以下示例:
library("MASS")
dscars <- round(mvrnorm(n = 20, mu = c(1, 1), Sigma = matrix(c(1,0,0,1),2)), 2)
highchart() %>%
hc_chart(type = "scatter", zoomType = "xy") %>%
hc_tooltip(
useHTML = TRUE,
pointFormat = paste0("<span style=\"color:{series.color};\">{series.options.icon}</span>",
"{series.name}: <b>[{point.x}, {point.y}]</b><br/>")
) %>%
hc_add_series(data = list.parse2(as.data.frame(dscars)),
marker = list(symbol = fa_icon_mark("car")),
icon = fa_icon("car"), name = "car")
我的目标是给这20分,一种独特的颜色。
我尝试设置&#34; fillColor&#34;在标记列表内部以及定义系列的颜色,两者都有20种颜色的矢量,但我没有成功。
任何人都能给我一个提示吗? 谢谢
答案 0 :(得分:0)
这是你想要的吗?
rm(list = ls())
library(highcharter)
library(MASS)
dscars <- data.frame(round(mvrnorm(n = 20, mu = c(1, 1), Sigma = matrix(c(1,0,0,1),2)), 2))
highchart() %>%
hc_chart(type = "scatter", zoomType = "xy") %>%
hc_tooltip(
useHTML = TRUE,
pointFormat = paste0("<span style=\"color:{colorByPoint:true};\">{series.options.icon}</span>",
"{series.name}: <b>[{point.x}, {point.y}]</b><br/>")
) %>%
hc_add_series(data = list.parse2(as.data.frame(dscars)),colorByPoint = TRUE,
marker = list(symbol = fa_icon_mark("car")),
icon = fa_icon("car"), name = "car")
答案 1 :(得分:0)
在highcharts(高图)中,该点可以作为其他参数给出,与x和y相同。首先是
library("MASS")
dscars <- round(mvrnorm(n = 20, mu = c(1, 1), Sigma = matrix(c(1,0,0,1),2)), 2)
dscars <- as.data.frame(dscars)
names(dscars) <- c("x", "y") # it's better give a named list IMHO
dscars$color <- colorize(1:nrow(dscars))
colorize
是一个在给定其他向量的情况下创建颜色向量的函数。在这种情况下,输入向量是一个序列(不重复),因此输出将是不同的颜色。但如果你想要你可以使用自己的颜色。
highchart() %>%
hc_chart(type = "scatter", zoomType = "xy") %>%
hc_tooltip(
useHTML = TRUE,
pointFormat = paste0("<span style=\"color:{point.color};\">{series.options.icon}</span>",
"{series.name}: <b>[{point.x}, {point.y}]</b><br/>")
) %>%
hc_add_series(data = list_parse(dscars),
marker = list(symbol = fa_icon_mark("car")),
icon = fa_icon("car"), name = "car")
注意我们使用了:
color:{point.color};
,因为每个点在颜色访问器中都有自己的颜色。list_parse
来解析命名列表中的数据框而不是未命名的列表,因此highcharts了解如何使用数据。对于旧版本的highcharts,list_parse
与list.parse3
相同。