【发布时间】:2018-10-28 03:41:49
【问题描述】:
我有两个具有相同索引的系列,需要将它们的值绘制在同一个图上,每个图都为线图。
fig, axs = plt.subplots()
sns.lineplot(numkdhh_pmf.index, numkdhh_pmf.values, ax = axs, color = 'r')
sns.lineplot(biased.index, biased.values, ax = axs, color = 'b')
plt.show()
这仅显示后一个情节,以第二个写的为准。关于为什么这两个图都拒绝在图中显示的任何想法?
两个系列的值在相似的范围内,所以这不是缩放问题。
编辑
省略无花果时,这两个图显示了根据以下代码设置的 axs。我仍然不确定为什么,因为我对 Seaborn/matplotlib 没有透彻的了解。代码确实是从 Jupyter 运行的,但它总是在同一个单元格中。谢谢大家的帮助。
ax2 = sns.lineplot(biased.index, biased.values, color = 'r')
sns.lineplot(numkdhh_pmf.index, numkdhh_pmf.values, ax = ax2, color = 'b')
plt.show()
【问题讨论】:
-
你能把一个简单的例子和两个重现问题的小例子系列放在一起吗? IE。 minimal reproducible example.
-
@JohnZwinck 你的骗子是我对这个问题的第一反应,但如果你仔细看看,你会发现这是关于对 seaborn 的独立调用,应该使用相同的数字。欺骗的替代方案将产生两个数字,而在这种情况下,只有一个数字,其中一个图丢失了。
-
Alex,如果您在第一次通话中覆盖
axs = sns.lineplot(...),有什么变化吗?我认为这不是必需的,但lineplot的文档不祥地说“返回 Axes 对象并在其上绘制绘图”。 -
Andras,此更改有效,但前提是
fig, axs = plt.subplots()被删除,如我的编辑所示。我不知道为什么,但谢谢! -
是的,这很奇怪 :) 但只要它有效......!没问题。
标签: python matplotlib seaborn