我正在嘗試設置散點圖中每個點的圖例。我的主要問題是每個點的顏色與圖例中的顏色不匹配。我做錯了什么,我該如何糾正?def scatter(self, indep, dep, labl): x = self.df_input[indep] y = self.df_input[dep] random = np.random.RandomState(0) colors = random.rand(len(labl)+1) fig = plt.figure() ax = fig.add_subplot(111) for leg in labl: ax.scatter(x, y, c=colors, cmap='gist_ncar', label=leg) ax.legend() ax.set_xlabel(indep) ax.set_ylabel(dep) ax.axis('tight') plt.show()
1 回答
犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
看起來您可能正在嘗試在數據框中繪制組。所以這樣的事情可能會奏效:
import matplotlib.pyplot as plt
import pandas as pd
data = [['a', 1, 3],
['a', 2, 2],
['b', 2, 4],
['b', 1, 5],
['b', 3, 5],
]
df = pd.DataFrame(data, columns=['cat', 'x', 'y'])
for name, group in df.groupby('cat'):
plt.scatter(group.x, group.y, label=name)
plt.legend()
這產生:

添加回答
舉報
0/150
提交
取消
