首页 > 解决方案 > 无法为 plotly parcoords 图添加颜色?

问题描述

我正在尝试创建一个平行坐标图,但似乎无法为线条添加颜色。任何帮助表示赞赏。

我尝试了各个层次,但没有成功。我刚得到一张带有黑线的图表。

a=c(min(customers[,1+1])-100,max(customers[,1+1])+100)

b=c(min(customers[,1+2])-100,max(customers[,1+2])+100)

c=c(min(customers[,1+3])-100,max(customers[,1+3])+100)

d=c(min(customers[,1+4])-100,max(customers[,1+4])+100)



p <- plot_ly(type = 'parcoords', line = list(color = c('red','blue','green','orange')),
                                             dimensions = list(
                                               list(range = a,

                                                    label = 'A', values = customers[,2]),
                                               list(range = b,
                                                    label = 'B', values = customers[,3]),
                                               list(range = c,
                                                    label = 'C', values = customers[,4]),
                                               list(range = d,
                                                    label = 'D', values = customers[,5])
                                             ),colors=c('red','blue','green','orange')
)

p

数据如下:

Cust_Group Median_V10 Median_V5 Median_V1 Median_v0 Median_NetRev
1  Ctrl_Prem    163.370   357.420   3172.34   9769.17      131.2588
2 Treat_Prem    163.115   505.415   4013.02  10306.07      144.8187
3   Ctrl_Rec    169.880   366.770   3172.14   9769.17      134.7507
4  Treat_Rec    163.115   505.415   4013.02  10306.07      144.8187 

标签: rgraphcolorsplotlyr-plotly

解决方案


不幸的是,Plotly 中的平行坐标图目前不支持分类颜色。作为一种(有点痛苦的)解决方法,您可以将颜色编码为数字,然后制作一个色标,以确保每个数字呈现为所需的颜色。我们的文档https://plot.ly/r/parallel-coordinates-plot/#basic-parallel-cordinates-plot中的这个例子展示了如何做到这一点。在本例species_id中为 1、2 或 3,色阶指定 3 个颜色值(映射到 0、0.5 和 1),这会导致每个物种呈现为匹配颜色。


推荐阅读