Highchart shiny R 散点图 - 如何定义单个点颜色
Highchart shiny R scatter plot - how to define individual point colors
我正在尝试在 highcharts shiny 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")
我的objective就是给这20分,一个独特的颜色。
我尝试设置 "fillColor" 内部标记列表以及定义系列的颜色,两者都使用 20 种颜色的矢量,但我没有成功。
谁能给我点提示?
谢谢
这是你想要的吗?
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")
在highcharts(highcharter)中,点可以作为其他参数给出,与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};
在 poinFormat 中,因为每个点在颜色辅助器中都有自己的颜色。
- 我使用
list_parse
解析命名列表而不是未命名列表中的数据框,因此 highcharts 了解如何使用数据。 list_parse
与旧版 highcharts 相同 list.parse3
。
希望对您有所帮助。
我正在尝试在 highcharts shiny 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")
我的objective就是给这20分,一个独特的颜色。
我尝试设置 "fillColor" 内部标记列表以及定义系列的颜色,两者都使用 20 种颜色的矢量,但我没有成功。
谁能给我点提示? 谢谢
这是你想要的吗?
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")
在highcharts(highcharter)中,点可以作为其他参数给出,与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};
在 poinFormat 中,因为每个点在颜色辅助器中都有自己的颜色。- 我使用
list_parse
解析命名列表而不是未命名列表中的数据框,因此 highcharts 了解如何使用数据。list_parse
与旧版 highcharts 相同list.parse3
。
希望对您有所帮助。