pandas 使用MatPlotLib绘制单独的散点图

snz8szmq  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(54)

我有一个散点图,并试图使用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)

字符串
如何将两个图形分开?

w8ntj3qf

w8ntj3qf1#

您可能想查看Pandas绘图功能,例如df.plot.scatter
在这种情况下,您可以按组织组代码对DataFrame进行分组,并为每个代码绘制散点图。

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

字符串
这将为每个分组代码生成一个单独的图形

uttx8gqw

uttx8gqw2#

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

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)

字符串

gj3fmq9x

gj3fmq9x3#

我也有同样的问题,不想为任何太花哨的东西而烦恼。

plt.scatter(x1, y1, area1, alpha=0.5)
plt.clf()
plt.scatter(x2, y2, area2, alpha=0.5)

字符串
这对我来说就像两个情节之间的魅力。

相关问题