問題:
如何有效建立散點圖使用Pandas DataFrame 進行繪圖,其中標記由資料框中的第三列指定DataFrame?
答案:
使用 matplotlib.pyplot.scatter() 依類別區分標記可能效率低。相反,請考慮對離散類別使用 matplotlib.pyplot.plot():
import matplotlib.pyplot as plt import numpy as np import pandas as pd # Generate Data num = 20 x, y = np.random.random((2, num)) labels = np.random.choice(['a', 'b', 'c'], num) df = pd.DataFrame(dict(x=x, y=y, label=labels)) # Group by labels groups = df.groupby('label') # Plot fig, ax = plt.subplots() ax.margins(0.05) # Optional padding # Use different markers and colors for each group for name, group in groups: ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name) ax.legend() # Specify custom colors and styles plt.rcParams.update(pd.tools.plotting.mpl_stylesheet) colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random') ax.set_color_cycle(colors) ax.legend(numpoints=1, loc='upper left') plt.show()
此程式碼產生一個散佈圖,其中標記按類別進行顏色編碼。
以上是如何在 Pandas DataFrame 中建立帶有按類別區分的標記的散點圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!