【问题标题】:let seaborn pointplot show NaN data with a line让 seaborn pointplot 用一条线显示 NaN 数据
【发布时间】:2018-08-03 12:42:31
【问题描述】:

我正在尝试绘制如下所示的数据框:

Quarter, score
1890.1, NaN
1890.2, 0.000000
1890.2, 0.000000
1890.2, -0.073413
1890.2, 0.000000
1890.3, NaN
1890.4, NaN
1891.1, NaN
1891.2, NaN
1891.3, NaN
1891.4, NaN
1892.1, NaN
1892.2, 0.000000
1892.3, 0.000000

为了绘制误差线图,我使用了 seaborn 点图。我的问题是,未显示 NaN 值。所以我得到了一个这样的空白图: 有没有办法让seaborn用一条线显示缺失的数据?非常感谢您的帮助!

我的代码如下:

a4_dims = (15, 8.27)
fig, ax = plt.subplots(figsize=a4_dims)
ax = sns.pointplot(x="Quarter", y="score", data=df, aspect=2.5, capsize=.5)
plt.xticks(rotation=45)
plt.tight_layout()

【问题讨论】:

  • 可以使用添加绘图线的外观吗?
  • 如图所示,有些点是用线连接的。同样的简单直线也可以。

标签: python visualization seaborn errorbar


【解决方案1】:

也许你可以尝试设置加入

'如果为 True,将在相同色调级别的点估计之间画线。'

或者,您可以使用:

use pandas.DataFrame.fillna

df['score']=df['score'].fillna(method='ffill')

取决于您希望如何使用该行来填充

ffill:将最后一个有效观察值向前传播到下一个有效值 bfill:使用 NEXT 有效观察来填补空白

【讨论】:

  • 我认为这与 df.interpolate() 类似?填充值的问题是,在绘图中,我不仅会得到线条,还会得到最初没有在数据框中退出的数据点:(
猜你喜欢
  • 1970-01-01
  • 2018-02-01
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 2017-08-14
  • 2019-08-01
  • 1970-01-01
相关资源
最近更新 更多