r highcharter包装条形图组与颜色
我有一个整洁的数据框架,类似于以下内容:r highcharter包装条形图组与颜色,r,highcharts,R,Highcharts,我有一个整洁的数据框架,类似于以下内容: tidyDF <- data.frame(PORT_NAME = c("South Louisiana, LA, Port of", "Houston, TX", "Long Beach, CA", "New York, NY and NJ", "Los Angel
tidyDF <- data.frame(PORT_NAME = c("South Louisiana, LA, Port of",
"Houston, TX", "Long Beach, CA",
"New York, NY and NJ",
"Los Angeles, CA", "Beaumont, TX",
"Corpus Christi, TX", "New Orleans, LA",
"Baton Rouge, LA", "Mobile, AL"),
TOTAL_TONS = c(267390209, 234304391, 170052128,
126158655, 122033848, 87283716, 84928330,
84465052, 69185878, 64287565),
portSel = c("NO", "NO", "NO", "NO", "NO", "YES",
"NO", "NO", "NO", "NO"))
我在hc\u add\u series\u df
中尝试了group
和color
。两者都不能正常工作。如上所述,当我使用group=portSel
时,颜色是正确的,但它会将单个YES端口与第一个NO端口分组。当我使用color=portSel
时,它会将YES端口放在正确的位置,但不再使用myColors
中的自定义颜色
欢迎任何意见!
谢谢。我修改了前面的答案 您没有以正确的方式使用组。
group
选项用于创建/添加多个系列,这就是为什么第一个yes
位于第一个no
的旁边,因为值是按顺序排列的
关于颜色,函数hc\u add\u series\u df
根据给定的颜色变量为点(条、列)着色,因此不要使用hc\u colors
给定的颜色
因此,我认为一个简单的方法就是“手动”添加该系列。这意味着从数据中创建一个包含所需特定数据(和颜色)的列表
tidyDF2 <- tidyDF %>%
mutate(color = ifelse(portSel == "NO", myColors[1], myColors[2])) %>%
select(y = TOTAL_TONS, color)
highchart() %>%
hc_chart(type = "bar") %>%
hc_xAxis(labels = list(
enabled = FALSE
)) %>%
hc_add_series(data = list_parse(tidyDF2), showInLegend = FALSE)
这不起作用。类别不一致。博蒙特位于与路易斯安那州南部对齐的顶部。如果我们使用
color=portSel
而不是组
,是否存在无法控制颜色的原因<代码>颜色使条形图正确排列,但我无法控制特定的颜色。我尝试了hc\u颜色
,并通过hc\u主题
向主题添加颜色。看起来很奇怪。
tidyDF2 <- tidyDF %>%
mutate(color = ifelse(portSel == "NO", myColors[1], myColors[2])) %>%
select(y = TOTAL_TONS, color)
highchart() %>%
hc_chart(type = "bar") %>%
hc_xAxis(labels = list(
enabled = FALSE
)) %>%
hc_add_series(data = list_parse(tidyDF2), showInLegend = FALSE)
highchart() %>%
hc_add_series_df(data = tidyDF,
type = "bar",
x = PORT_NAME,
y = TOTAL_TONS,
group = portSel) %>%
hc_xAxis(title = list(text = "Ports"),
type = "categorical",
categories = tidyDF$PORT_NAME,
tickmarkPlacement = "on",
tickLength = 0,
labels = list(
enabled = TRUE
)) %>%
hc_yAxis(title = list(text = "2014 Total Tonnage")) %>%
hc_legend(enabled = FALSE) %>%
hc_colors(myColors)