matplotlib绘制散点图时x轴日期过多如何减少显示的刻度数量
matplotlib散点图X轴日期刻度过密解决方案
你已经导入了matplotlib.dates模块,可以直接通过该模块提供的刻度定位器和格式器调整X轴日期显示密度,修改后的代码如下:
import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.patches as mpatches import matplotlib.dates as mdates plt.scatter(terremoto_sur['time'],terremoto_sur['mag']) plt.title('Magnitud terremotos en el tiempo zona Sur') plt.xlabel('Time') plt.ylabel('Magnitude') # 新增X轴日期刻度配置 ax = plt.gca() # 配置主刻度:每年显示1次,如需每n年显示修改base参数即可,如base=2为每2年 ax.xaxis.set_major_locator(mdates.YearLocator(base=1)) # 配置日期显示格式,仅显示年份,可按需调整为'%Y-%m'显示年月 ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y')) # 可选配置:旋转刻度避免重叠,自动调整布局防止标签被截断 plt.xticks(rotation=45, ha='right') plt.tight_layout() plt.show()
自定义调整说明
- 如需按月份控制显示密度,可将主刻度定位器替换为
mdates.MonthLocator(interval=3),interval参数代表间隔多少个月显示一个刻度 - 如需显示更细粒度的次要刻度,可额外添加
ax.xaxis.set_minor_locator(mdates.MonthLocator()),次要刻度默认不会显示标签,仅做刻度标记
内容的提问来源于stack exchange,提问作者Torvo Tiska
相关产品推荐
相关产品推荐

