学了编程后,突然发现用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画时间序列图?相关推荐

  1. python时间序列动图_python中如何用matlibplot画时间序列图?

    学了编程后,突然发现用python画图是一件很容易的事.想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧. 一.读取数据及处理 通过pandas读取CSV文件,keep_default_na参数 ...

  2. python 时间序列图_python中如何用matlibplot画时间序列图?

    学了编程后,突然发现用python画图是一件很容易的事.想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧. 一.读取数据及处理 通过pandas读取CSV文件,keep_default_na参数 ...

  3. python时间序列图_python中用matlibplot画时间序列图的案例

    python中用matlibplot画时间序列图的案例 发布时间:2020-11-10 09:26:59 来源:亿速云 阅读:93 作者:小新 这篇文章给大家分享的是有关python中用matlibp ...

  4. python绘制三维地形图_如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  5. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  6. python画三维立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  7. python怎样画立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  8. python画三维立体图完整代码_如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  9. 如何用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 ...

最新文章

  1. docker开源系统监控软件Nagios
  2. 在有序旋转数组中找到最小值
  3. Linux input子系统 io控制字段【转】
  4. canvas实现的喜羊羊图像效果
  5. C语言sendto()函数:经socket传送数据
  6. 怎样才干成为一名优秀的软件測试人员
  7. 【linux】linux 查找 或者 搜索 文件 find
  8. linux环境下如何查看solr版本,Solr环境搭建(linux)
  9. SpringBoot(三)
  10. 数电快速入门(三)(卡诺图化简法的介绍)
  11. 科技护肤品,买还是不买
  12. 在vue项目中使用骨架屏
  13. win10计算机控制面板在哪里,windows10系统控制面板在哪里?快速找到Win10控制面板的三种方法...
  14. 刚刚,微信官宣 1000W+ 跨年红包开发,速度搞!
  15. STM32F1主从定时器设置
  16. ‘在路上’问卷调查结果与分析
  17. 大多数人都自我嫌弃而不自知
  18. NET6使用PaddleOCR识别图片中的文字信息
  19. Linux基本bash命令(持续更新)
  20. HTML小游戏12 —— 汽车赛道飙车游戏(附完整源码)

热门文章

  1. jquery常用事件——幕布
  2. Spark SQL join的三种实现方式
  3. Linux的nat端口转换实例
  4. bootstrap入门
  5. Android安全问题 钓鱼程序
  6. 我的软考之路(六)——数据结构与算法(4)之八大排序
  7. POI API 创建Excel 文档
  8. C++查缺补漏,赶紧的
  9. 科学宿命论-我们到底有没有自由意志
  10. 关于“绑定(binding)”技术