【发布时间】:2017-04-10 01:34:54
【问题描述】:
我正在尝试在单个 FacetGrid 上绘制两个不同的变量(通过因果关系链接)delai_jour 和 date_sondage。我可以用这段代码做到这一点:
g = sns.FacetGrid(df_verif_sum, col="prefecture", col_wrap=2, aspect=2, sharex=True,)
g = g.map(plt.plot, "date_sondage", "delai_jour", color="m", linewidth=2)
g = g.map(plt.bar, "date_sondage", "impossible")
这给了我这个:
(总共有 33 个)。
我有兴趣比较各种prefecture 的模式,但由于幅度不同,我看不到折线图中的变化。
对于这项特定的工作,最好的方法是创建一个辅助 y 轴,但我似乎无法使任何工作:FacetGrid 看起来不可能,我不明白代码无法复制我在纯 matplotlib 中看到的示例。
我应该怎么做?
【问题讨论】:
-
我不同意“最好的方法是创建辅助 y 轴”的说法。那是one of the worst ways。
-
感谢您的文章。我认为有一个误解:我并不是说在所有情况下第二个轴都更好。我的意思是,对于我的情况,即直观地探索通过因果关系链接的 2 个变量的模式,这是最节省空间和视觉效率的方式。但我会编辑我的帖子以使其更清晰。
-
这正是文章中描述的应用程序。使用具有两个轴的平行时间序列来显示“因果关系”可能会产生高度误导,因为明显关系的程度很大程度上受任意 y 轴缩放控制。
-
我不是在寻找因果关系。我知道有一个。我不是在比较一个图表中的模式,而是比较 33 个方面的共同模式。
标签: python pandas matplotlib seaborn facet