R 不使用添加跟踪时,条形图中缺少标签颜色
在不使用add_trace创建彩色条形图时,图例中的某些标签颜色仍为黑色:R 不使用添加跟踪时,条形图中缺少标签颜色,r,plotly,R,Plotly,在不使用add_trace创建彩色条形图时,图例中的某些标签颜色仍为黑色: colors <- c("blue","grey", "red", "yellow") data <- data.frame(time = factor(c("2010", "2011", "2010", "2011", "2010", "2011")), value = c(10, 20, 30, 40, 50, 60),
colors <- c("blue","grey", "red", "yellow")
data <- data.frame(time = factor(c("2010", "2011", "2010", "2011", "2010", "2011")),
value = c(10, 20, 30, 40, 50, 60),
type = c("A", "B", "C", "A", "B", "C"))
data %>%
plot_ly(
type = "bar",
x = ~time,
y = ~value,
color = ~type,
colors = colors) %>%
layout(barmode = "relative")
颜色%
布局(barmode=“相对”)
当直接使用“marker=list(color=colors)”选项而不是“colors”选项时,也会发现同样的问题。当使用add_trace时,一切似乎都正常。但由于颜色级别的数量一直不知道,因此使用添加跟踪(在循环中)的解决方案感觉不太令人信服。尝试以下方法:
h<-ggplot(data, aes(x=time, y=value, fill=type))+geom_bar(stat = "identity")
ggplotly()
h作为替代方案,也许您可以将数据集从长改宽
代码如下:
library(reshape2)
data_wide <- dcast(data, time ~ type, value.var="value")
plot_ly(data_wide, x=~time) %>%
add_bars(y = ~A, name = "A", color= I("blue")) %>%
add_bars(y = ~B, name = "B", color= I("red")) %>%
add_bars(y = ~C, name = "C", color= I("yellow")) %>%
layout(barmode = "stack", yaxis = list(title ="value"))
library(重塑2)
数据范围%
添加_条(y=~A,name=“A”,color=I(“蓝色”))%>%
添加_条(y=~B,name=“B”,color=I(“红色”))%>%
添加_条(y=~C,name=“C”,color=I(“黄色”))%>%
布局(barmode=“stack”,yaxis=list(title=“value”))
你是说图例中的颜色吗?是的,编辑了我的初始问题以使其更清晰