如何使用基于列值的绘图方式分配颜色值?

时间:2019-07-12 11:52:30

标签: python plotly

我正在尝试使用plotly绘制k-means簇,但是在基于那里的组分配颜色时遇到了麻烦?我有以下数据框。

enter image description here

组:群集号

我正在用它作散点图。

clustered.iplot(kind='scatter',x='value1',y='value2', colors = {'[clustered['group']==1]':'green', '[clustered['group']==0]':'yellow'},mode='markers',size=10)

这是错误的,因为对于颜色字典对象它只会得到True和false。我如何关联这些组值,以使点的颜色在绘图中以不同的方式出现。

3 个答案:

答案 0 :(得分:0)

如果只有两个群集,则可以映射值:

clustered.iplot(kind='scatter', x='value1', y='value2', colors=clustered['group'].map({0:'yellow', 1:'green'}), mode='markers',size=10)

答案 1 :(得分:0)

假设您要分配这样的颜色:

group   Color
-----  ------
  0      Red
  1      Green

现在将color_map创建为向量,以提供groupcolors之间的映射。

color_map <- c(0="Red",1="Green")

通过使用上面的color_map绘制点及其颜色,如下所示:

p <- plot_ly(PT, type='scatter', 
               x=value1, 
               y=value2, 
               marker=list(size=10,color=color_map[group]),
               group = group,
               zeroline=FALSE)

答案 2 :(得分:0)

代替使用cufflinks,您可以使用新的Plotly Express库(https://plotly.express)来执行以下操作:

px.scatter(clustered, x='value1', y='value2', color='group')