【问题标题】:Graphing separate scatter plots using MatPlotLib使用 MatPlotLib 绘制单独的散点图
【发布时间】:2020-07-28 02:51:11
【问题描述】:

我有一个数据框,并尝试使用 MatPlotLib 为每个组织组代码绘制单独的散点图。我得到图形输出组合并相互重叠。

这是我的绘图代码

import matplotlib.pyplot as plt

PubProtect = SCPlot[SCPlot['Organization Group Code'] == 1]
x1 = PubProtect['Total Salary']
y1 = PubProtect['Total Benefits']
area1 = 5
plt.scatter(x1, y1, area1, alpha=0.5)

PubWorks = SCPlot[SCPlot['Organization Group Code'] == 2]
x2 = PubWorks['Total Salary']
y2 = PubWorks['Total Benefits']
colors = PubWorks[['Total Salary']].count()
area2 = 5
plt.scatter(x2, y2, area2, alpha=0.5)

如何分离两个图表?

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    您可以将图形和轴设置为:

    fig, ax = plt.subplots(nrows=2, ncols=1)
    ax[0].scatter(x1, y1, area1, alpha=0.5)
    ax[1].scatter(x2, y2, area2, alpha=0.5)
    

    【讨论】:

      【解决方案2】:

      您可能想查看 Pandas 绘图功能,例如 df.plot.scatter

      在这种情况下,您可以按组织组代码对 DataFrame 进行分组,并为每个代码制作散点图。

      grouped = SCPlot.groupby('Organization Group Code')
      grouped.plot.scatter('Total Salary', 'Total Benefits')
      

      这将为每个组代码生成一个单独的图表

      【讨论】: