【问题标题】:Plot high-low with Seaborn, Pandas使用 Seaborn、Pandas 绘制高低图
【发布时间】:2017-01-07 04:08:27
【问题描述】:

我有一个 pandas 数据框,它按类别包含三个数据点:均值、最大值、最小值。

我想绘制这些,使得平均值是一个点,最大/最小值是一条线。类似于股票中的高/低/收盘图,甚至只是误差线。

为了便于交流,假设我的代码如下所示

df = pd.DataFrame({'day': ['M', 'T', 'W', 'F'],
              'foo' : [1,2,3,4],
              'foo_max' : [5,5,6,7],
              'foo_min' : [0,1,1,1]})

sns.stripplot(df.day, df.foo, color='black')
plt.show()

【问题讨论】:

  • 使用高/低//打开/关闭和修改数据,移除多余的数据点。
  • 不确定我是否关注@Merlin,代码会是什么样子?

标签: python pandas data-visualization seaborn


【解决方案1】:

你可以这样做:

df.set_index('day', inplace=True)

# tsplot with error bars
ax = sns.tsplot([df['foo_max'], df['foo_min']], err_style="ci_bars", 
                interpolate=False, color='g')

ax.set_xticks(np.arange(0, df.shape[0]))
ax.set_xticklabels(df.index) 
ax.set_ylim(0, df.values.max()+1)
sns.plt.show()

【讨论】:

    猜你喜欢
    • 2017-12-09
    • 2016-09-09
    • 2017-03-11
    • 1970-01-01
    • 2021-01-15
    • 2017-08-10
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多