簡體   English   中英

如何使用分類 x 軸繪制 matplotlib 散點圖,允許我根據第三個變量指定標記和顏色?

[英]How can I do a matplotlib scatter plot with a categorical x-axis, that allows me to specify the marker and color based on a third variable?

https://i.stack.imgur.com/WJQWg.png

我想做一個 matplotlib 散點圖,將電影標題作為 x 軸上的標簽,按照“訂單”列給出的順序。 我還希望標記的顏色由電影的類型決定。 我怎樣才能用 Matplotlib 做到這一點? 請注意,我希望對 matplotlib 使用面向對象的方法 - 即使用:

圖, ax = plt.subplots()

由於您只指定了 x 值而不是 y 值,因此很難知道您的確切目標。 但是您可以使用以下代碼創建包含分類數據的散點圖。 我選擇將“訂單”列繪制為 y 值,但您也可以修改代碼以繪制其他內容或根據需要對數據重新排序。 所以給你:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = {'Order': np.arange(4), 'Movie Title': ['a', 'b', 'c', 'd'], 'Genre': ['genre2', 'genre1', 'genre1','genre2']}

df = pd.DataFrame.from_dict(data)

fig, ax = plt.subplots()
ax.scatter(df['Movie Title'], df['Order'],
           c=['blue' if g=='genre1' else 'red' for g in df['Genre']])
plt.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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