matplotlib: 如何自定义X轴的刻度区间[重复]。

问题描述 投票:0回答:1

我在设置X轴的刻度区间时遇到了一些问题,我有一个日期['01.13', '01.14', '01.15', '01.16', '01.17', '01.18', '01.19', '01.19', '01.13', '01.14', '01.15', '01.16', '01.17', '01.18'. 我有一个日期['01.13', '01.14', '01.15', '01.16', '01.17', '01.18', '01.19', '01.20', '01.21', '01.22', '01.23', '01.24', '01.25', '01.26', '01.27', '01.28', '01.29', '01.30', ... '05.27']. 我想绘制的图形是 确认(日期),怀疑(日期),治愈(日期),死亡(日期) 但是xtick的标签太多了,已经重叠了。Q1:修改区间(x轴的tick标签是01.13,01.23,02.02......) Q2:如果把'date[]'变成'datetime'的格式,步骤是否会更简单?

x=[]
y1=[]
y2=[]
y3=[]
y4=[]
for day_item in china_day_list:
    date = day_item['date'] #+ '.2020'
    confirm = day_item['confirm']
    suspect = day_item['suspect']
    dead = day_item['dead']
    heal = day_item['heal']
    nowConfirm = day_item['nowConfirm']
    nowSevere = day_item['nowSevere']
    deadRate = day_item['deadRate']
    healRate = day_item['healRate']
    ############plt
    x.append(date)
    y1.append(confirm)
    y2.append(suspect)
    y3.append(dead)
    y4.append(heal)

plt.figure(figsize=(20, 8))
plt.title('line graph of disease with time', fontsize=16)
plt.plot(x, y1, 'r-', label='C')
plt.plot(x, y2, 'b-',label='S')
plt.plot(x, y3, 'y-',label='D')
plt.plot(x, y4, 'g-',label='H')



plt.gcf().autofmt_xdate() # rotate label

plt.legend() # 
python matplotlib intervals
1个回答
0
投票

我认为可以用下面的代码自己定制X轴。剔号格式化至于Q2,如果你能做到这一点,我认为没有必要。

labels = ['01.13','01.23','02.02','02.28','03.29','04.30']
ax.xaxis.set_major_formatter(ticker.FixedFormatter(labels))
© www.soinside.com 2019 - 2024. All rights reserved.