簡體   English   中英

散點圖繪制多組不同顏色的點

[英]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_colorsax.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM