2025年python x轴显示指定时间刻度

python x轴显示指定时间刻度将 x 轴设置为时间轴 将 x 轴设置为时间轴 显示指定日期 注意事项 在对 x 轴进行时间转换时需要注意 datetime date2num 是从 1 1 1 开始计数 单位是天 time mktime 是从 1970 1 1 开始计数 单位是秒 实例 摘取自 ww3 项目 Figure area average

大家好,我是讯享网,很高兴认识大家。

将x轴设置为时间轴

  1. 将x轴设置为时间轴
  2. 显示指定日期

注意事项:

在对x轴进行时间转换时需要注意:
- datetime.date2num():是从1,1,1开始计数,单位是天
- time.mktime():是从1970.1.1开始计数,单位是秒


讯享网

实例

这里写图片描述

# 摘取自ww3项目Figure_area_average.py import time, datetime, calendar import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as dt import matplotlib.ticker as ticker from matplotlib.dates import DateFormatter, MONDAY, MonthLocator, YearLocator from Package_Read.Filter_tools import * # 画图 fig = plt.figure(figsize=[9, 5]) ax = fig.add_subplot(1, 1, 1) formatter = DateFormatter('%Y/%m/%d') time1 = datetime.date(1970, 1, 1) time2 = dt.date2num(time1) timex0=timex timex = timex/24/3600 + time2 ax.plot_date(timex[2:-1], dhf[2:-1], '-',label='high', alpha=1) ax.plot_date(timex[2:-1], dbf[2:-1], '-',label='band', alpha=1) ax.plot_date(timex[2:-1], dlf[2:-1], '-',label='low', alpha=1) # ax.set_alpha = 0.8 ax.xaxis.set_major_formatter(formatter) ax.yaxis.grid(True) # 显示x刻度网格 # 设置x轴时间刻度 yeardays=YearLocator() # 获取每年第一日数据 mondays=MonthLocator() # 获取每月第一日数据 locate=MonthLocator(range(1, 13), bymonthday=1, interval=6) # 获取每3个月第一日数据 ax.xaxis.set_major_locator(locate) # 设定主刻度 ax.xaxis.set_minor_locator(mondays) # 设定次刻度 # autodates = dt.AutoDateLocator() # 自动显示x轴时间刻度 # ax.xaxis.set_major_locator(autodates) # 设置时间间隔 ax.xaxis.set_major_formatter(formatter) # 设置时间显示格式 fig.autofmt_xdate() # 自动旋转xlabel # ax.yaxis.set_ticks_position('both') # 在图像左右两侧显示y轴刻度 formatter_y=ticker.PercentFormatter(xmax=100) ax.yaxis.set_major_formatter(formatter_y) ax.legend(loc='upper right', shadow=False) # ax.set_xlabel('Time (year/month/day)') ax.set_ylabel('$\int(U_{air}-U_{oc})/U_{oc}dt$') ax.set_xlim(timex[0], timex[-1]) ax.set_title(f'Waves effect on surface current\n ' f'lon:{lon1}-{lon2} lat:{lat1}-{lat2}') fig.show() fig.savefig(fig_file,dpi=300)

讯享网
小讯
上一篇 2025-02-28 16:26
下一篇 2025-04-05 15:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/57341.html