pandas - 在seabornfacetGrid上绘制艺术家

标签 pandas seaborn

我想在facetGrid的所有面板上绘制箭头。

在这个虚拟示例中,我想在所有面板上绘制相同的箭头:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pylab as plt


datDf=pd.DataFrame({'values':np.random.randint(0,100,100)})
datDf['group']=np.random.randint(0,5,100)
g = sns.FacetGrid(datDf, col="group",
                  col_wrap=3,
                  size=4.5,
                  sharex=True, sharey=True, despine=False)
g.map(plt.plot,'values')

for ax in g.axes:
    arrow=plt.arrow(0,0,50,50,width=5,
            length_includes_head=True,
            head_width=5*2,
            color='gray')
    ax.add_artist(arrow)

我收到此错误:

ValueError:无法重置轴。您可能正在尝试在多个不受支持的轴中重复使用一位艺术家

在facetGrids上绘制艺术家的正确方法是什么?

最佳答案

您可以使用 ax.arrow 而不是 plt.arrow 在轴上绘制箭头。

这应该有效:

for ax in g.axes:
    ax.arrow(0,0,50,50,width=5,
            length_includes_head=True,
            head_width=5*2,
            color='gray')

关于pandas - 在seabornfacetGrid上绘制艺术家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802566/

相关文章:

python - 非唯一索引的数学运算

python - 计算每个 pandas 列中数据出现的次数

python - 如何在python中绘制时间序列数组,并显示置信区间?

python - 显示字典中的 seaborn 图

python - 如何绘制多个置信区间

python - 用 pandas 计算每月的支出总额

python - 在 python 中读取 csv 文件时跳过几行

python - 如何对 DataFrame 中特定列的行进行排序?

python - 在 seaborn 图中使用 sns.set

python - Panda 的箱线图但未显示箱线