python - Seaborn FacetGrid PointPlot 添加 1 条网格线

标签 python seaborn facet-grid

鉴于以下情况:

import seaborn as sns
attend = sns.load_dataset("attention")
sns.set_style("whitegrid", {'axes.grid' : False,'axes.edgecolor':'none'})
g = sns.FacetGrid(attend, col="subject", col_wrap=5,
size=1.5, ylim=(0, 10))
ax = g.map(sns.pointplot, "solutions", "score", scale=.7)

如您所见,我已经删除了所有网格线。我现在只想添加一条水平网格线:在每个图的 y 轴值 5 处。这可能吗?我查看了 set_style 字典选项 here但没有找到任何帮助。

提前致谢!

最佳答案

在绘图中获得网格线作为视觉辅助的最简单方法是在每个绘图上画一条线。

for a in g.axes:
    a.axhline(5, alpha=0.5, color='grey')

结果是它基本上是一行代码,情节将具有您想要的功能。结果是您必须手动指定每一行的去向。 (我假设您希望生产代码中的内容稍微复杂一些)。好一点的东西会是

for a in g.axes:
    a.axhline(a.get_yticks()[1], alpha=0.5, color='grey')

它会捕获一个刻度并为它画一条线。

您可以对单个 tick 对象做一些事情来产生类似的效果——它们可以通过 a.yaxis.get_major_ticks() 访问——但我无法使用他们的任何方法产生任何效果。

关于python - Seaborn FacetGrid PointPlot 添加 1 条网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45848281/

相关文章:

python - 为什么转置数据以获得多索引数据帧?

python - Leetcode Python 208. 实现Trie(前缀树)

python - 对直方图中绘制的给定数据标准化威 bool 分布

python - Seaborn 情节未显示

从 ggplot 或 gtable/gTree/grob/gDesc 对象中检索分面标签

r - ggplot : How to create different x-axis titles with facet_grid

python - 如何在 Pandas 中绘制日期的核密度图?

python - 在图中的 x 刻度中显示值和索引

seaborn - 如何在 EC2 t2.micro 实例上导入 Seaborn?

r - scale_x_reordered 在facet_grid 中不起作用