私はここで本当にシンプルなものを混乱させていると確信していますが、それを理解できないようです。私は単に、データフレームを循環して、ax.scatter
を繰り返し呼び出すことによって、グループごとに異なる色を持つ散布図としてデータのグループをプロットしようとしています。最低限の例は次のとおりです。matplotlibの複数の散布図で予期しない色が発生する
import numpy as np; import pandas as pd; import matplotlib.pyplot as plt; import seaborn as sns
%matplotlib inline
df = pd.DataFrame({"Cat":list("AAABBBCCC"), "x":np.random.rand(9), "y":np.random.rand(9)})
fig, ax = plt.subplots()
for i,cat in enumerate(df.Cat.unique()):
print i, cat, sns.color_palette("husl",3)[i]
ax.scatter(df[df.Cat==cat].x.values, df[df.Cat==cat].y.values, marker="h",s=70,
label = cat, color=sns.color_palette("husl",3)[i])
ax.legend(loc=2)
私は私が実際にグループを巡回し、異なる色を選択していたことを確認するために私自身の正気のためprint
の文を追加しました。出力は次のようにただしなります
(これは見て少しにくい場合:グループA、B、およびCは、しかし、すべてのscatterpointsは一見異なるとを持っている、伝説によると3つの非常に類似したブルースを持っていますグループ間で同一でもない無関係な色)
ここでは何が起こっていますか?
うわー!あなた自身でそれを理解するのは良いことです。 –