0

ノードのクラスターのデータをグラフ化するために 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 個ものノード (シリーズ) を使用することもあります。ほとんどの場合、色の値のハードコードされたリストが最良の選択肢でしょうか?

4

1 に答える 1

3

次の方法で、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()

色

「ペア」カラーマップは、この種の場合に特に役立つことがわかりましたが、他の利用可能なカラーマップまたはカスタム カラーマップを使用できます。

于 2013-01-30T13:31:49.767 に答える