您好,
我正在使用plotly生成有序条形图,它会在X轴上显示客户细分,在Y轴上显示频率计数。 问题是,我还想根据段的频率设置颜色。
我正在使用具有93个观察结果的数据帧,结构与此相同:
df <- data.frame(
Segments = c("Pete", "Gary", "TopNews"...),
Frequency = c(4,2,5...)
)
正如预期的那样,R会自动将'Segments'变量识别为一个因子。当我第一次绘制图形时,它会自行排序(如预期的那样)。我使用了以下代码:
plot_ly(Segments2, y = ~Var1, x = ~Freq, type = "bar", orientation = 'h')
所以这不是问题,但当我试图将条形颜色与'Freq'变量联系起来时,它就成了一个问题,即:
plot_ly(Segments2, y = ~Var1, x = ~Freq, type = "bar", color = ~Freq, orientation = 'h')
当然,R打印出以下错误:
‘range’ not meaningful for factors
总而言之,我的问题是:如何使用频率作为连续颜色为这样一个有条理的曲线条形图着色?
答案 0 :(得分:1)
您可以将频率添加到marker
对象的color
。
library(plotly)
df <- data.frame(
Segments = c("Pete", "Gary", "TopNews", "Harry"),
Freq = c(4,2,5,3)
)
plot_ly(df,
y = ~Segments,
x = ~Freq,
type = "bar",
orientation = 'h',
marker = list(color = df$Freq,
showscale=T)
)