すべての点 (x,y) が同じ色の異なる色合いになるように、Python で散布図をプロットしたいと考えています。データ ポイントは data0x と data0y の両方で (アルゴリズムによってどのように選択されるかに応じて) 順序付けられていると想定しているため、最初のものを最後のものよりも暗くしたいと考えています。
ax.scatter(data0x, data0y,c=, marker=markers[0])
これはどのように行うことができますか?
すべての点 (x,y) が同じ色の異なる色合いになるように、Python で散布図をプロットしたいと考えています。データ ポイントは data0x と data0y の両方で (アルゴリズムによってどのように選択されるかに応じて) 順序付けられていると想定しているため、最初のものを最後のものよりも暗くしたいと考えています。
ax.scatter(data0x, data0y,c=, marker=markers[0])
これはどのように行うことができますか?
カラー マップ(ギャラリー)を使用します。[0, 1]
各ポイントにフロートを(必要なスキームで)割り当てる必要があります。
c = arange(len(data0x)) / len(data0x)
それから
ax.scatter(data0x, data0, c=c, cmap='blues',...)
いくつかのオプションがあります。カラーマップを使用することも (tcaswell が示唆するように)、色を直接指定することもできます。
一般的に、特定の色を使用したい場合は、色を考えてからカラーマップから取得する方法を考えるよりも、それらを直接指定する方が簡単です。それがやりたい場合のために、散布図で直接色を指定する例を次に示します。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(50)
y = np.random.rand(50)
c = np.array([1, 1, 0]) # base color, set for each point (here, yellow)
z = x/max(x) # the darkness for each point (here, scale along x-axis)
plt.scatter(x,y, s=300, c=c[np.newaxis,:]*z[:, np.newaxis], marker=">")
plt.show()