首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Plotly -创建具有连续色标的饼图

Plotly -创建具有连续色标的饼图
EN

Stack Overflow用户
提问于 2018-05-31 21:53:07
回答 1查看 2K关注 0票数 2

我希望创建一个曲线图,其中每个切片的颜色都是数据帧中的另一个变量。这在ggplot2中非常简单,然而,我正在努力将其转换为plotly。

我的示例代码如下:

代码语言:javascript
复制
Product <- c("Product1","Product2","Product3","Product4","Product5","Product6","Product7")
Value <- c(1000000,200002,599996,1399994,2199992,2999990,3799988)
Rating = c(0.24, 0.28, 0.17, 0.1, 0.5, 0.6, 0.34)
df <- data.frame(Product,Value, Rating)

plot_ly(df, labels = ~Product, values = ~Value, type = 'pie', textinfo = 'label+percent',
         marker = list(color = ~Rating)) %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
     yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))

这是输出:

看起来我在"color“属性上做得不对。我希望有一个连续的比例配色方案,当评级变量接近0时最好是红色,当它接近1时是绿色。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-01 04:54:23

你可以

  • 对数据帧进行排序

sorted_df <- dforder(df$Rating),

  • 使用colorRampPalette添加自定义颜色

梯度<- gradient(dim(df)1)[as.numeric(cut(sorted_df$Rating,(c(‘red’,'green')) dim(df)1))]

  • assign <- colorRampPalette sorted_df$colors <-green=将颜色保存到绘图中

= list(colors =~colors)标记

这给了你

颜色比例可能需要进行一些调整。

代码语言:javascript
复制
Product <- c("Product1","Product2","Product3","Product4","Product5","Product6","Product7")
Value <- c(1000000,200002,599996,1399994,2199992,2999990,3799988)
Rating = c(0.24, 0.28, 0.17, 0.1, 0.5, 0.6, 0.34)
df <- data.frame(Product,Value, Rating)
sorted_df <- df[order(df$Rating),]
gradient <- colorRampPalette(c('red', 'green'))

sorted_df$colors <- gradient(dim(df)[1])[as.numeric(cut(sorted_df$Rating,
                                                        breaks = dim(df)[1]))]


plot_ly(sorted_df, labels = ~Product, values = ~Value, type = 'pie', textinfo = 'label+percent',
        marker = list(colors = ~colors)) %>%
  layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50625970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档