[英]Set string values on matplotlib x axis
使用以下代码,我尝试使用matplotlib将x轴值绘制为字符串:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
fig = plt.figure()
plt.figure(figsize=(20,10))
plt.xticks(fontsize=24)
plt.yticks(fontsize=24)
plt.plot( 'x', 'y', data=pd.DataFrame({'x': np.array(['a' , 'b' , 'c']) , 'y': np.array([1,2,3]) }), marker=None, color='blue')
plt.show()
返回此错误:
ValueError: could not convert string to float: 'c'
看来matplotlib正在将轴值推断为字符串。 如何改变呢?
我试过设置类型,但这不能解决:
astype(str)
我可以使用matplotlib==1.5.3
重现python2
的错误。
将matplotlib
升级到最新版本可以解决此问题:
pip3 install matplotlib --upgrade
由于最新的matplotlib
不支持2.x,因此可以升级到matplotlib==2.1
:
pip2 install matplotlib==2.1
尝试这个:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.figure(figsize=(20,10))
plt.yticks(fontsize=24)
x = np.array(['a' , 'b' , 'c'])
xn = range(len(x))
plt.xticks(xn, x, fontsize=24)
plt.plot(xn, 'y', data=pd.DataFrame({'y': np.array([1,2,3]) }), marker=None, color='blue')
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.