【发布时间】:2018-01-02 01:57:08
【问题描述】:
我使用 matplotlib 在每个栏中绘制文本。
在案例 1 中一切正常。每个栏的顶部都会显示一个收入数字。
但是当我使用 Case 2 时,错误 raise "TypeError: must be real number, not str". please anyone can help me to figure out.
案例一:
grouped_revenue _DF = revenue_DF.groupby(['industry']).sum()
sns.barplot(
x = grouped_revenue _DF.index,
y = 'Total revenue',
data=grouped_revenue _DF,
palette='viridis')
plt.title('Revenue (QoQ)2007-2017')
for a, b in zip(np.arange(len(grouped_revenue_DF.index)),
grouped_revenue _DF['Total revenue']):
plt.text(a, b + 1000000, '%.02f' % b, ha='center', va='top', fontsize=15,color='purple')
sns.despine()
plt.tight_layout()
plt.show()
案例 2:此引发错误
class plotpic():
def plt(input_DF,y,palette,title):
sns.barplot(x=input_DF.index,y=y,data=input_DF,palette=palette)
for a ,b in zip(np.arange(input_DF.shape[0]),y):
plt.text(a, b , '%.02f' % b, ha='center', va='top',fontsize=15,color='purple')
plt.title(title)
sns.despine(top=True)
plt.tight_layout()
y = 'Total revenue'
palette = 'viridis'
title = 'Revenue (QoQ)2007-2017'
plotpic.plt(grouped_revenue _DF,y,palette,row,col,num,title)
plt.show()
Traceback (most recent call last):
File "C:\Users\b\Downloads\Python-Data-Science\Data\Visualization\my_works.py", line 562, in <module>
plotpic.plt(grouped_revenue _DF,y,title)
plt.text(a, b , '%.02f' % b, ha='center', va='top', fontsize=15,color='purple')
TypeError: must be real number, not str
我找了几个小时的答案,但找不到答案,我真诚地需要帮助。非常感谢。
【问题讨论】:
-
请忽略案例2中的参数('row,col,num')
-
你不认为重新定义
plt会导致问题吗?
标签: python matplotlib typeerror