Plotly - 按因子变量和条形图排序和着色
Plotly - Ordering & Colouring by Factor Variables and in a Bar Chart
嗨,
我正在使用 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
所以总而言之,我的问题是:如何使用频率作为顺序颜色为这样一个有序的条形图着色?
您可以将您的频率添加到 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)
)
嗨,
我正在使用 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
所以总而言之,我的问题是:如何使用频率作为顺序颜色为这样一个有序的条形图着色?
您可以将您的频率添加到 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)
)