【问题标题】:Colors for pandas timeline graphs with many series具有许多系列的熊猫时间线图的颜色
【发布时间】:2013-01-13 15:17:38
【问题描述】:

我正在使用 pandas 来绘制节点集群的数据。我发现 pandas 会重复不同系列的颜色值,这使得它们无法区分。

我尝试提供这样的自定义颜色值并将 my_colors 传递给绘图中的颜色字段:

  my_colors = []
  for node in nodes_list:
    my_colors.append(rand_color())

rand_color() 定义如下:

  def rand_color():
    from random import randrange
    return "#%s" % "".join([hex(randrange(16, 255))[2:] for i in range(3)])

但在这里我也需要避免颜色值太接近而无法区分。我有时有多达 60 个节点(系列)。很可能一个硬编码的颜色值列表是最好的选择?

【问题讨论】:

  • colours to use?说到这里,我怀疑 60 种颜色可能太多了,无法区分。
  • 太好了,谢谢你的链接!

标签: matplotlib pandas


【解决方案1】:

您可以从 Matplotlib 中定义的任何颜色图中获取颜色列表,甚至可以通过以下方式获取自定义颜色图:

>>> import matplotlib.pyplot as plt
>>> colors = plt.cm.Paired(np.linspace(0,1,60))

用这些颜色绘制一个例子:

>>> plt.scatter( range(60), [0]*60, color=colors )
<matplotlib.collections.PathCollection object at 0x04ED2830>
>>> plt.axis("off")
(-10.0, 70.0, -0.0015, 0.0015)
>>> plt.show()

我发现“配对”颜色图对这类事情特别有用,但您可以使用 any other available 或自定义颜色图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2019-01-22
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多