在Python绘图直方图中为N个变量分配N种颜色的可扩展解决方案?

时间:2018-10-26 05:39:18

标签: python plotly scalability colormap

Python中PCA的plotly tutorial包含可视化iris dataset中包含的变量分布的步骤。 visualize

由于该数据集包含4个变量和3个类,因此相应的代码是静态的(即,硬编码的彩色RGB值)。

traces = []
colors = {'Iris-setosa': 'rgb(31, 119, 180)',      # Not scalable
          'Iris-versicolor': 'rgb(255, 127, 14)',  # Not scalable
          'Iris-virginica': 'rgb(44, 160, 44)'}    # Not scalable
for col in range(4):                               # Not scalable
   for key in colors:
       traces.append(Histogram(x=all_variables[class_variables==key, col], 
             opacity=0.75, xaxis='x%s' %(col+1),
             marker=Marker(color=colors[key]),
             name=key, showlegend=legend[col]))

我们正在将其转换为可扩展的解决方案,该解决方案将自动适应具有其他数量变量的其他数据集。

例如,for col in range(4)可以写为for col in range(len(df_dataset.columns)-1)

我对如何以可扩展方式进行颜色选择部分的建议感兴趣。 Plotly的colorscale documentation不包括直方图。另一种选择是预先定义一组例如20种颜色,然后即时将它们分配给各个变量。由于这也不是可扩展的,因此我感谢任何高级想法。

如何找到可扩展的解决方案,以将N种颜色分配给绘图直方图中的N个变量?

0 个答案:

没有答案