同じ散布図に複数のデータセットをプロットしたい:
_cases = scatter(x[:4], y[:4], s=10, c='b', marker="s")
controls = scatter(x[4:], y[4:], s=10, c='r', marker="o")
show()
_
上記は最新のscatter()
のみを示しています
私も試しました:
_plt = subplot(111)
plt.scatter(x[:4], y[:4], s=10, c='b', marker="s")
plt.scatter(x[4:], y[4:], s=10, c='r', marker="o")
show()
_
同じサブプロットに描画し続けるには、Axes
オブジェクトへの参照が必要です。
import matplotlib.pyplot as plt
x = range(100)
y = range(100,200)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.scatter(x[:4], y[:4], s=10, c='b', marker="s", label='first')
ax1.scatter(x[40:],y[40:], s=10, c='r', marker="o", label='second')
plt.legend(loc='upper left');
plt.show()
私はまったく同じ問題を抱えていたので、この質問に出会いました。受け入れられた答えはうまくいきますが、matplotlibバージョン2.1.0
、Axes
への参照を使用せずに1つのプロットに2つの散布図を含めることは非常に簡単です。
import matplotlib.pyplot as plt
plt.scatter(x,y, c='b', marker='x', label='1')
plt.scatter(x, y, c='r', marker='s', label='-1')
plt.legend(loc='upper left')
plt.show()
私にはわかりません、それは私のためにうまくいきます。正確なコマンド:
import scipy, pylab
ax = pylab.subplot(111)
ax.scatter(scipy.randn(100), scipy.randn(100), c='b')
ax.scatter(scipy.randn(100), scipy.randn(100), c='r')
ax.figure.show()
ここで説明するように、データがデータフレームで表される場合、Pandasでこれを簡単に行うこともできます。
http://pandas.pydata.org/pandas-docs/version/0.15.0/visualization.html#scatter-plot