plt.错误栏为X字符串值



我有一个如下的数据框架

import pandas as pd
import matplotlib.pylab as plt
df = pd.DataFrame({'name':['one', 'two', 'three'], 'assess':[100,200,300]})

我想这样创建errorbar

c = 30
plt.errorbar(df['name'], df['assess'], yerr=c, fmt='o')

当然我得到

ValueError: could not convert string to float

我可以将字符串转换为浮点数,但我失去了值签名,也许有一个更优雅的方式?

Matplotlib确实只能处理数值数据。matplotlib集合中的一个示例展示了如何处理具有分类数据的情况。解决方案是绘制一个范围的值,然后使用plt.xticks(ticks, labels)ax.set_xticks(ticks)ax.set_xticklabels(labels)的组合设置标签。

在你的情况下,前者工作得很好:

import pandas as pd
import matplotlib.pylab as plt
df = pd.DataFrame({'name':['one', 'two', 'three'], 'assess':[100,200,300]})
c = 30
plt.errorbar(range(len(df['name'])), df['assess'], yerr=c, fmt='o')
plt.xticks(range(len(df['name'])), df['name'])
plt.show()

相关内容

  • 没有找到相关文章

最新更新