Pandas绘制带误差条图:样式不应用

7 投票
1 回答
2812 浏览
提问于 2025-04-20 06:53

我有一个Pandas(版本0.14.1)的DataFrame对象,长得像这样:

import pandas as pd

df = pd.DataFrame(zip([1,   2,   3,   4,   5],
                      [0.1, 0.3, 0.1, 0.2, 0.4]),
                  columns=['y', 'dy'])

它返回的是:

    y   dy
0   1   0.1
1   2   0.3
2   3   0.1
3   4   0.2
4   5   0.4

第一列是,第二列是误差

第一种情况:我想为y值画个图。

df['y'].plot(style="ro-")

第一种情况

第二种情况:我想为y值添加一个垂直的误差条dy

df['y'].plot(style="ro-", yerr=df['dy'])

第二种情况

所以,如果我在plot方法中添加yerrxerr参数,它就会忽略style

这是Pandas的一个特性还是bug呢?

1 个回答

2

正如TomAugspurger所提到的,这个问题是一个已知问题。不过在大多数情况下,有一个简单的解决办法:用fmt这个关键词来代替style关键词,这样可以指定快捷样式选项。

import pandas as pd

df = pd.DataFrame(zip([1,   2,   3,   4,   5],
                      [0.1, 0.3, 0.1, 0.2, 0.4]),
                  columns=['y', 'dy'])

df['y'].plot(fmt='ro-', yerr=df['dy'], grid='on')

正确样式的图形

撰写回答