【发布时间】:2021-04-06 05:40:33
【问题描述】:
我正在使用我的数据框示例中的回归制作自动散点图
我想通过 Column1 在单独的散点图组中将 Column2 与 Column3 以及 Column2 与 Column4 关联起来。例如,Column2 到 Column3 会有 3 个散点图,每个散点图的标题分别为 A、B 和 C
对于绘图我使用熊猫散点图例如:
df.groupby('Column1').plot.scatter(x='Column2',y='Column3')
散点图正好返回 3 个图,但我想知道如何根据 Column1 的分组添加图表标题以及如何添加回归线。我还没有使用 seaborn 或 matplotlib,因为这对我来说很困惑,所以如果你能解释更多,我很感激:))
编辑 1
抱歉之前没有说清楚。我的代码以前运行良好,但输出如下。
没关系,但很难看哪个情节属于哪个组。因此我的意图是创造这样的东西
编辑 2
向所有热心帮助的人致敬。凯娜特别帮了我很多,也对他大喊大叫。
这是他根据评论的几个补充写的代码。
fig, axes = plt.subplots(1, df.Column1.nunique(), figsize=(12,8))
groups = df.groupby('Column1')
fig.tight_layout(pad=3)
# If `fig.tight_layout(pad=3)` does not work:
# plt.subplots_adjust(wspace=0.5)
for i, (gname, gdata) in enumerate(groups):
sns.regplot(x='Column2', y='Column3', data=gdata, ax=axes[i])
axes[i].set_title(gname)
axes[i].set_ylim(0,)
标题和轴工作得很好。由于我得到了剧情的帮助,因此可以认为该线程已关闭。
但正如您所看到的,底部图的显示很奇怪,因为它还显示了从 0 到 600 的 x 轴和从 0 到 25 的 y,尽管它们都应该具有相同的 y 轴格式。对于另一个图表,它们也被水平拉伸。
我正在尝试使用 here 方法,但使用参数 square 或 equal 并没有真正成功
我可以进一步询问如何调整轴以使绘图成为正方形吗?谢谢!
【问题讨论】:
-
你可以给
plt.title{'A')获取标题 -
是的,但是这会返回所有情节都具有与标题相同的标题 A 并不认为子情节不同
-
您可以尝试几个选项。查看可视化文档pandas.pydata.org/pandas-docs/stable/user_guide/…
-
您能否分享导致 x 和 y 出现这种差异的代码。我的图表看起来不一样了
标签: python pandas matplotlib seaborn