值错误:在图中找不到轴实例参数,同名问题没有答案



我正在尝试创建一个海生的 Facetgrid 来绘制我的 dataFrame 十项全能中所有列的正态分布。数据如下所示:

P100m   Plj  Psp  Phj  P400m  P110h   Ppv  Pdt  Pjt  P1500
0       938  1061  773  859    896    911   880  732  757    752
1       839   975  870  749    887    878   880  823  863    741
2       814   866  841  887    921    939   819  778  884    691
3       872   898  789  878    848    879   790  790  861    804
4       892   913  742  803    816    869  1004  789  854    699
...   ...  ...  ...    ...    ...   ...  ...  ...    ...
7963    755   760  604  714    812    794   482  571  539    780
7964    830   845  524  767    786    783   601  573  562    535
7965    819   804  653  840    791    699   659  461  448    632
7966    804   720  539  758    830    782   731  487  425    729
7967    687   809  692  714    565    741   804  527  738    523

我对python相对较新,我无法理解我的错误。我尝试格式化数据并创建网格是这样的:

import seaborn as sns
df_stacked = decathlon.stack().reset_index(1).rename({'level_1': 'column', 0: 'values'}, axis=1)
g = sns.FacetGrid(df_stacked, row = 'column')
g = g.map(plt.hist, "values")

但是,我收到以下错误:

ValueError: Axes instance argument was not found in a figure

谁能解释这个错误到底意味着什么以及我将如何修复它?

编辑

df_stacked看起来像这样:

column  values
0     P100m     938
0       Plj    1061
0       Psp     773
0       Phj     859
0     P400m     896
...     ...
7967  P110h     741
7967    Ppv     804
7967    Pdt     527
7967    Pjt     738
7967  P1500     523

我在运行Jupyter Notebook时遇到了类似的问题。

我的解决方案涉及:

  1. 重新启动笔记本

  2. 重新运行导入%matplotlib inline; import matplotlib.pyplot as plt

由于您没有发布完整的工作示例,因此有点猜测。

可能出错的是你g = g.map(plt.hist, "values")的行,因为错误来自matplotlib的深处。你可以在这个SO问题中看到这一点,它的另一个函数pylab.sca(axes[i])matplotlib之外,由于不在可用的模块中,是由matplotlib触发的。

可能您在(conda?(环境中安装/更新了某些内容(环境路径的更改?(,并且在下次重新启动后找到了它。

我也想知道你是怎么想出plt.hist的......完全键入它应该类似于matplotlib.pyplot.hist...但猜测...(等待更新的示例代码(。