【发布时间】:2019-04-12 09:04:46
【问题描述】:
在将刻度标签值转换为数字类型时,我收到 ValueError: could not convert string to float。
根据Text documentation,应该返回一个字符串。
MVP
fig, ax = plt.subplots()
ax.plot( range( 5 ), range( 5 ) )
for lbl in ax.get_xticklabels():
float( lbl.get_text() )
【问题讨论】:
-
如果你这样做
print(lbl.get_text()),输出是什么? -
这似乎是字符串,例如-0.5
-
格式化程序是否可能发生了一些奇怪的事情?
-
当我使用你的代码并将
float( lbl.get_text() )更改为print(float(lbl.get_text())时,我得到了无法转换为字符串的空字符串 -
如果我在 for 循环之前放置
plt.show(),那么奇怪的是,我得到了预期的输出,您的问题在 stackoverflow.com/questions/32700935/… bascally 的答案之一中得到了解释,直到您不调用plt.show()xticks未填充
标签: python matplotlib