在 Python 中绘制按类别分组的散点图
问题:
在 Pandas 中,如何创建带有标记的散点图,这些标记代表按第三者定义的类别分类的数据列?
解决方案:
要有效创建按类别分组的散点图,请使用plot 函数而不是scatter。这是因为绘图将第三列中的值解释为类别而不是数值。
这是使用绘图的分步解决方案:
例如:
import matplotlib.pyplot as plt import numpy as np import pandas as pd np.random.seed(1974) # 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)) groups = df.groupby('label') # Plot fig, ax = plt.subplots() ax.margins(0.05) for name, group in groups: ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name) ax.legend() plt.show()
这将生成一个散点图,其中的标记按“标签”中的值进行分类列和标识类别的图例。
此外,您可以通过调整 ax.margins() 参数、设置标记大小(毫秒)以及指定绘图的调色板来自定义绘图的外观标记。
以上是如何在Python中创建带有按类别分组的标记的散点图?的详细内容。更多信息请关注PHP中文网其他相关文章!