我正在创建一个简单的Plotly条形图,其中包含以下数据,其中各个条形图的颜色将根据条形图的相应值而变化。但是应该定义颜色范围,即从蓝色(最小)到红色(最高)
df <- data.frame(x = c('a', 'B'),
y = c(100, 50),
z = c(100, 50))
plot_ly(data = df,
x = ~x,
y = ~y,
marker = list(color = ~z),
colors = c("blue", "red"),
type = "bar")
不幸的是,Plotly用不同的颜色方案显示条形图。能否请你指出正确的代码。
提前致谢
答案 0 :(得分:1)
我猜你想要这样的东西:
plot_ly(data = df,
x = ~x,
y = ~y,
marker = list(color =c("blue", "red")),
type = "bar")
<强> [编辑]:强>
根据我编辑代码的评论。希望这是你想要的。
df <- data.frame(x = c('a', 'B', "c", "d", "e"),
y = c(100, 50, 20, 10, 100),
z = c(100, 50, 20, 10, 100))
colfunc <- colorRampPalette(c("blue", "red"))
pal <- colfunc(max(df$z))[df$z]
plot_ly(data = df,
x = ~x,
y = ~y,
marker = list(color = pal),
type = "bar")