Python集xticks(希望它是0:00-1:00,1:00-2:00,…)
我想将绘图的x记号设置为Python集xticks(希望它是0:00-1:00,1:00-2:00,…),python,datetime,matplotlib,Python,Datetime,Matplotlib,我想将绘图的x记号设置为0:00-1:00,1:00-2:00,…23:00-0:00,而不是原来的0,1,2,…,23 所以我用了: plt.xticks(['0:00-1:00', '1:00-2:00', '2:00-3:00', '3:00-4:00', '4:00-5:00', '5:00-6:00', '6:00-7:00', '7:00-8:00', '8:00-9:00', '9:00-10:00', '10:00-11:00', '11:00-12:00
0:00-1:00
,1:00-2:00
,…23:00-0:00
,而不是原来的0,1,2,…,23
所以我用了:
plt.xticks(['0:00-1:00', '1:00-2:00', '2:00-3:00', '3:00-4:00', '4:00-5:00', '5:00-6:00', '6:00-7:00', '7:00-8:00',
'8:00-9:00', '9:00-10:00', '10:00-11:00', '11:00-12:00', '12:00-13:00', '13:00-14:00', '14:00-15:00',
'15:00-16:00', '16:00-17:00', '17:00-18:00', '18:00-19:00', '19:00-20:00', '20:00-21:00', '21:00-22:00',
'22:00-23:00', '23:00-24:00'])
但我有一个错误:
ValueError: invalid literal for float(): 9:00-10:00
那么我怎样才能实现我的目标呢?有什么建议吗 代码不起作用的原因是您直接在
xticks
中使用字符串。您应该创建一个列表(在我的示例中是labels
),然后将其作为参数分配给xticks
示例代码
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,5)
y = np.sin(x)
labels = ['0:00-1:00', '1:00-2:00', '2:00-3:00', '3:00-4:00', '4:00-5:00'] # My manual xticks
plt.scatter(x,y)
plt.xticks(x,labels') # Here we assign it to xticks
# Rotate them using "rotation='vertical'"
plt.show()
非常感谢您的快速回答!这真的解决了我的问题!:)很抱歉,我没有足够的声誉这么做,尽管我很乐意。我刚刚开始使用stackoverflow:p