matplotlib 横坐标为时间数据的设置

# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd
from datetime import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates


plt.rcParams['font.sans-serif']=['SimHei']                           # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False                             # 用来正常显示负号

fig=plt.figure(figsize=(12,6))                                          # 定义图并设置画板尺寸
fig.set(alpha=0.2)                                                      # 设定图表颜色alpha参数
# fig.tight_layout()                                                    # 调整整体空白
plt.subplots_adjust(bottom=0.06,top=0.94,left=0.08,right=0.94,wspace =0.36, hspace =0.5)       # 设置作图范围、子图间距。

df_milano=pd.read_csv("milano_270615.csv")                            # 读取数据

x1= df_milano['day'].values                                                     # 自变量序列
x1= [datetime.strptime(d, '%Y-%m-%d %H:%M:%S') for d in x1]                     # 格式化时间数据输入
y1= df_milano['temp']                                                           # 因变量序列
ax=fig.add_subplot(111)                                                         # 定义子图
plt.xticks(rotation=70)                                                         # 横坐标刻度旋转角度
ax.xaxis.set_major_formatter(mdates.DateFormatter("%H:%M:%S"))                  # 设置横坐标时间标签的格式
# ax.xaxis.set_major_locator(mdates.HourLocator())                              # 指定横坐标刻度序列
ax.set_xticks(x1)                                                               # 指定横坐标刻度序列
ax.plot(x1,y1,'r')                                                              # 绘图

plt.show()

 

posted @ 2018-07-27 15:17  todaynowind  阅读(15002)  评论(0编辑  收藏  举报