为什么第二个x轴记号标签不旋转(matplotlib)?

您所在的位置:网站首页 rggplot2修改x和y轴刻度 为什么第二个x轴记号标签不旋转(matplotlib)?

为什么第二个x轴记号标签不旋转(matplotlib)?

2023-04-13 16:13| 来源: 网络整理| 查看: 265

我正在尝试用matplotlib绘制一个简单的图表。我在纵轴上有数字,在横轴上有日期。由于某些原因,我无法理解,第二个x轴刻度标签拒绝旋转。其余的记号标签可以正常旋转。如果我改变我的数据,同样的事情也会发生……总是第二个刻度标签拒绝旋转。我无计可施了。下面是我的代码:

import datetime import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages from matplotlib.dates import MonthLocator, DateFormatter import matplotlib.ticker as ticker plt.rcdefaults() fig, ax = plt.subplots() fig.set_size_inches(6.5, 3) # Example data values = [ 270, 318, 349, 322, 433, 444, 459, 481, 449, 558, 575, 843] dlist = [ datetime.datetime(2020,10,1), datetime.datetime(2020,11,1), datetime.datetime(2020,12,1), datetime.datetime(2021,1,1), datetime.datetime(2021,2,1), datetime.datetime(2021,3,1), datetime.datetime(2021,4,1), datetime.datetime(2021,5,1), datetime.datetime(2021,6,1), datetime.datetime(2021,7,1), datetime.datetime(2021,8,1), datetime.datetime(2021,9,1)] ax.set_box_aspect(.25) ax.xaxis.set_major_locator(MonthLocator(interval=1)) ax.xaxis.set_major_formatter(DateFormatter('%b %Y')) ax.yaxis.set_major_locator(ticker.FixedLocator([0, 200, 400, 600, 800, 1000])) plt.setp(ax.get_xticklabels(), fontsize=8, rotation=45, ha='right') plt.setp(ax.get_yticklabels(), fontsize=8) ax.set_ylabel('Attack Volume', fontsize=10) ax.set_xlim(dlist[0], dlist[-1]) ax.set_ylim(0,1000) ax.grid(True) ax.set_title('Figure 1: Attack Volume Trend', fontsize=12) ax.plot(dlist, values, 'o-') plt.show()

这是我所看到的:

抱歉的链接,而不是嵌入的图像-我是一个新的StackOverflow用户,所以他们不会让我嵌入任何东西。我做错了什么?

我在MacOS Big Sur 11.5.2 (20G95)上使用matplotlib-3.4.3。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3