python中的matlibplot_python中如何用matlibplot画时间序列图?
学了编程后,突然发现用python画图是一件很容易的事。想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧。
一、读取数据及处理
通过pandas读取CSV文件,keep_default_na参数将空值数据改为空字符串
查看原数据信息,原数据分为3day, 时间粒度3min
通过pandas date_range函数生成时间序列时间数据,指定freq='180s'import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文(windows)
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
df = pd.read_csv('traffic_analysis_macro.csv', keep_default_na=False) # 无数据当做空字符串处理
# df.drop(['region_id'], axis=1, inplace=True)
# 查看原始数据集情况
print('shape:', df.shape)
print('describle:', df.describe())
print('data head:', df.head())
# 该数据集,分为3天,时间粒度3min;
# 首先按天切分数据
df_0912 = df[:480]
df_0915 = df[480:960]
df_0916 = df[960:]
# 生成时间序列:X轴刻度数据
table = pd.DataFrame([i for i in range(480)],columns=['value'],index=pd.date_range('00:00:00', '23:57:00', freq='180s'))
二、绘制图形# 图片大小设置
fig = plt.figure(figsize=(15,9), dpi=100)
ax = fig.add_subplot(111)
# X轴时间刻度格式 & 刻度显示
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
plt.xticks(pd.date_range(table.index[0],table.index[-1],freq='H'), rotation=45)
# 绘图
ax.plot(table.index,df_0912['avg_speed'],color='r', label='9月12日')
ax.plot(table.index,df_0915['avg_speed'],color='y', label='9月15日')
ax.plot(table.index,df_0916['avg_speed'],color='g', label='9月16日')
# 辅助线
sup_line = [35 for i in range(480)]
ax.plot(table.index, sup_line, color='black', linestyle='--', linewidth='1', label='辅助线')
plt.xlabel('time_point', fontsize=14) # X轴标签
plt.ylabel("Speed", fontsize=16) # Y轴标签
ax.legend() # 图例
plt.title("车速时序图", fontsize=25, color='black', pad=20)
plt.gcf().autofmt_xdate()
# 隐藏-上&右边线
# ax.spines['right'].set_color('none')
# ax.spines['top'].set_color('none')
# plt.savefig('speed.png')
plt.show()
三、效果图如下
以上就是python中用matlibplot画时间序列图的方法。更多Python学习推荐:JQ教程网Python大全。
您可能感兴趣的文章:
python中的matlibplot_python中如何用matlibplot画时间序列图?相关推荐
- python时间序列动图_python中如何用matlibplot画时间序列图?
学了编程后,突然发现用python画图是一件很容易的事.想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧. 一.读取数据及处理 通过pandas读取CSV文件,keep_default_na参数 ...
- python 时间序列图_python中如何用matlibplot画时间序列图?
学了编程后,突然发现用python画图是一件很容易的事.想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧. 一.读取数据及处理 通过pandas读取CSV文件,keep_default_na参数 ...
- python时间序列图_python中用matlibplot画时间序列图的案例
python中用matlibplot画时间序列图的案例 发布时间:2020-11-10 09:26:59 来源:亿速云 阅读:93 作者:小新 这篇文章给大家分享的是有关python中用matlibp ...
- python绘制三维地形图_如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- python 画三维函数图-如何用Matplotlib 画三维图的示例代码
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...
- python画三维立体图-如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- python怎样画立体图-如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- python画三维立体图完整代码_如何用Matplotlib 画三维图的示例代码
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...
- 如何用R画折线图,散点图,平滑曲线图
如何用R画折线图,散点图,平滑曲线图 例子: week 1 2 3 4 5 6 x 3 8 19 24 6 1 y 1 25 21 3 2 1 要求是以week为横坐标,画出x-week,y-week ...
最新文章
- docker开源系统监控软件Nagios
- 在有序旋转数组中找到最小值
- Linux input子系统 io控制字段【转】
- canvas实现的喜羊羊图像效果
- C语言sendto()函数:经socket传送数据
- 怎样才干成为一名优秀的软件測试人员
- 【linux】linux 查找 或者 搜索 文件 find
- linux环境下如何查看solr版本,Solr环境搭建(linux)
- SpringBoot(三)
- 数电快速入门(三)(卡诺图化简法的介绍)
- 科技护肤品,买还是不买
- 在vue项目中使用骨架屏
- win10计算机控制面板在哪里,windows10系统控制面板在哪里?快速找到Win10控制面板的三种方法...
- 刚刚,微信官宣 1000W+ 跨年红包开发,速度搞!
- STM32F1主从定时器设置
- ‘在路上’问卷调查结果与分析
- 大多数人都自我嫌弃而不自知
- NET6使用PaddleOCR识别图片中的文字信息
- Linux基本bash命令(持续更新)
- HTML小游戏12 —— 汽车赛道飙车游戏(附完整源码)