[英]Scatterplot plot multiple groups of points with different colors
我想把字典的鍵塗成不同的顏色,我怎么得到這個?
colors: {"Hardcover": "red", "Kindle Edition":"green", "Paperback":"blue", "ebook":"purple", "Unknown Binding":"black", "Boxed Set - Hardcover":"yellow"}
fig, ax = plt.subplots(figsize=(16, 8))
for key, value in colors.items():
ax.scatter(data["Type"], data["Price"], c=value, label=key)
ax.legend()
plt.show()
您不必遍歷顏色。 您可以將其作為系列傳遞。
data = pd.DataFrame({'Type': ['Hardcover', 'Kindle Edition', 'Paperback'], 'Price': [1,2,3]})
colors = {'Hardcover': 'red', 'Kindle Edition':'green', 'Paperback':'blue'}
fig, ax = plt.subplots(figsize=(16, 8))
scatter_colors = data['Type'].map(colors)
ax.scatter(data['Type'], data['Price'], c=scatter_colors)
print(scatter_colors)
plt.show()
我認為在您的情況下不需要圖例。 如果你真的想擁有它,我認為唯一的方法可能是迭代“類型”
由於 OP 需要圖例而進行了編輯:將上面代碼塊中的scatter_colors
和ax.scatter
行替換為:
for book_type in data['Type'].unique():
data_subset = data[data['Type'] == book_type].copy()
ax.scatter(data_subset['Type'], data_subset['Price'], color=colors[book_type], label=book_type)
ax.legend()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.