怎么新建MySQL数据库

发布时间:2022-09-30 作者:admin
阅读:313
今天这篇给大家分享的知识是“Python画随时间序列改变的图怎样做,考虑什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“Python画随时间序列改变的图怎样做,考虑什么”文章能帮助大家解决问题。

画这种图要考虑两点:

1.如何生成连续的时间轴

2.如何在图中适当的显示轴标签的样式和数量。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
% matplotlib inline
import datetime#这个包很关键
#设定开始和结束时间
start=datetime.datetime(2013,1,1)
stop=datetime.datetime(2013,12,31)
delta=datetime.timedelta(1)#设定日期的间隔
dates=mpl.dates.drange(start,stop,delta)# 返回浮点型的日期序列,这个是生成时间序列,同理如果是将序列转成日期呢?
values=np.random.rand(len(dates))
#存在两个问题,一个是坐标轴没有按照日期的形式去标注,另一个是刻度的数量和位置也不合适
fig=plt.figure(figsize=(24,12))#调整画图空间的大小
plt.plot(dates,values,linestyle='-',marker='*',c='r',alpha=0.5)#作图
ax=plt.gca()
date_format=mpl.dates.DateFormatter('%Y-%m-%d')#设定显示的格式形式
ax.xaxis.set_major_formatter(date_format)#设定x轴主要格式
ax.xaxis.set_major_locator(mpl.ticker.MultipleLocator(30))#设定坐标轴的显示的刻度间隔
fig.autofmt_xdate()#防止x轴上的数据重叠,自动调整。

画这种图要考虑两点:

1.如何生成连续的时间轴

2.如何在图中适当的显示轴标签的样式和数量。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
% matplotlib inline
import datetime#这个包很关键
#设定开始和结束时间
start=datetime.datetime(2013,1,1)
stop=datetime.datetime(2013,12,31)
delta=datetime.timedelta(1)#设定日期的间隔
dates=mpl.dates.drange(start,stop,delta)# 返回浮点型的日期序列,这个是生成时间序列,同理如果是将序列转成日期呢?
values=np.random.rand(len(dates))
#存在两个问题,一个是坐标轴没有按照日期的形式去标注,另一个是刻度的数量和位置也不合适
fig=plt.figure(figsize=(24,12))#调整画图空间的大小
plt.plot(dates,values,linestyle='-',marker='*',c='r',alpha=0.5)#作图
ax=plt.gca()
date_format=mpl.dates.DateFormatter('%Y-%m-%d')#设定显示的格式形式
ax.xaxis.set_major_formatter(date_format)#设定x轴主要格式
ax.xaxis.set_major_locator(mpl.ticker.MultipleLocator(30))#设定坐标轴的显示的刻度间隔
fig.autofmt_xdate()#防止x轴上的数据重叠,自动调整。


这篇关于“Python画随时间序列改变的图怎样做,考虑什么”的文章就介绍到这了,更多相关的内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145