Python处理时间日期坐标轴过程详解

yipeiwu_com5年前Python基础

1. 前言

当日期数据作为图表的坐标轴时通常需要特殊处理,应为日期字符串比较长,容易产生重叠现象

2. 设定主/次刻度

2.1 引用库

from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY,YEARLY

2.2 获取每月/周/日数据

获取每月一日数据

monthdays = MonthLocator()

获取每周一的日期数据

mondays = WeekdayLocator(MONDAY) # 主要刻度

获取每日数据

alldays = DayLocator() # 次要刻度

2.3 设定主/次刻度

ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)

2.4 设定格式

mondayFormatter = DateFormatter('%Y-%m-%d') # 如:2-29-2015
dayFormatter = DateFormatter('%d') # 如:12
ax.xaxis.set_major_formatter(mondayFormatter)

3. 字符串旋转

for label in ax1.get_xticklabels():
label.set_rotation(30)
label.set_horizontalalignment('right')

4. 效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现12306火车票抢票系统

Python实现12306火车票抢票系统

Python实现12306火车票抢票系统效果图如下所示: 具体代码如下所示: import urllib.request as request import http.coo...

numpy.random模块用法总结

random模块用于生成随机数,下面看看模块中一些常用函数的用法: from numpy import random numpy.random.uniform(low=0.0, h...

对python 生成拼接xml报文的示例详解

最近临时工作要生成xml报名,通过MQ接口发送。简单小程序。 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderI...

Python+Selenium使用Page Object实现页面自动化测试

  Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Se...

python中for循环变量作用域及用法详解

在讲这个话题前,首先我们来看一道题: 代码1: def foo(): return [lambda x: x**i for i in range(1,5,2)] print([f...