超长时间序列数据可视化的6个技巧
时间序列是由表示时间的x轴和表示数据值的y轴组成,使用折线图在显示数据随时间推移的进展时很常见。它在提取诸如趋势和季节性影响等信息方面有一些好处。
但是在处理超长的时间轴时有一个问题。尽管使用数据可视化工具可以很容易地将长时间序列数据拟合到绘图区域中,但结果可能会很混乱。让我们比较一下下面的两个示例。
上图显示了2021年的每日温度数据
上图像显示了1990-2021年的每日温度数据
虽然我们可以在第一张图上看到细节,但第二张图由于包含了很长的时间序列数据,所以无法看到细节,一些有重要的数据点可能会被隐藏。
为了解决这个问题,本文将介绍6种简单的技巧,帮助更有效地呈现长时间序列数据。
获取数据
本文将使用都柏林机场每日数据,包含自1942年以来在都柏林机场测量的气象数据。数据集包含每日天气信息,如温度、风速、气压等。
导入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsimport plotly.express as px
import plotly.graph_objects as go
%matplotlib inline
读取CSV文件
df = pd.read_csv('location/file name.csv')
df['date'] = pd.to_datetime(df['date'])
df.tail()
df.info()
一个好消息是数据集没有缺失值。
准备数据
这里使用最高和最低温度数据。所用的时间是从1990年到2021年,总共32年。如果想选择其他变量或范围,请随意修改下面的代码。
start = pd.Timestamp('1990-01-01')
end = pd.Timestamp('2021-12-31')
df_temp = df[(df['date']>=start)&(df['date']<=end)][['date','maxtp','mintp']]
df_temp.reset_index(drop=True, inplace=True)#create an average temperature column
df_temp['meantp'] = [(i+j)/2 for i,j in zip(df_temp.maxtp, df_temp.mintp)]
df_temp.head()
创建一些以后使用的日期特征。
df_temp['month'] = pd.DatetimeIndex(df_temp['date']).month
df_temp['year'] = pd.DatetimeIndex(df_temp['date']).year
df_temp['month_year'] = [str(i)+'-'+str(j) for i,j in zip(df_temp.year, df_temp.month)]
df_temp.head()
绘制时间序列图
下面的代码展示了如何从DataFrame绘制一个基本的时间序列图。稍后可以将结果与本文中的其他可视化结果进行比较。
plt.figure(figsize=(16,9))
sns.set_style('darkgrid')
sns.lineplot(data=df_temp, y='meantp', x ='date')
plt.show()
可以看到的图表过于密集,让我们看看如何处理这个问题。
处理超长时间序列数据的可视化
我们用6个简单的技巧来呈现一个长时间序列:
1、放大和缩小
我们可以创建一个交互式图表,结果可以放大或缩小以查看更多细节。所以Plotly是一个很有用的库,可以帮助我们创建交互式图表。
用一行代码直接绘制一个简单的交互式时间序列图。
px.line(df_temp, x='date', y='meantp')
从结果中,我们可以看到整体数据,同时能够放大我们想要扩展的区域,这可能是Plotly唯一一个比matplotlib强的地方
超长时间序列数据可视化的6个技巧相关推荐
- R语言时间序列数据可视化: 使用plot函数可视化单序列时间序列数据、多序列时间序列数据并指定不同时间序列的线条类型(lty)
R语言时间序列数据可视化: 使用plot函数可视化单序列时间序列数据.多序列时间序列数据并指定不同时间序列的线条类型(lty) 目录
- 数据可视化 信息可视化_更好的数据可视化的8个技巧
数据可视化 信息可视化 Ggplot is R's premier data visualization package. Its popularity can likely be attribute ...
- 实现大数据可视化的10个技巧
大数据技术的有效可视化不应该只是为管理层绘制的漂亮图片.专家表示,企业可通过考虑布局.迭代设计.吸引用户和了解业务需求来改善结果. 数据目录提供商Alation公司设计和战略计划副总裁Aaron Ka ...
- 时间序列数据可视化:Pyecharts日历图
Hallo,各位小伙伴大家好啊!这个专栏是用来分享数据处理以及数据可视化的一些常见操作,以及自己的一些学习笔记,希望能给大家带来帮助呀!感兴趣的小伙伴也欢迎私信或者评论区交流呀! 以下可视化的数据分别 ...
- 数据可视化,图表使用技巧全解析!
数据总是能最完整.正确地反映客观情况,也最能帮助我们发现规律和趋势,并对未来事件进行预测. 但是你知道不同类型的数据适合用什么样的图表吗? 优秀的数据可视化从来都不是罗列数据,更要根据自己的数据特征, ...
- 时间序列数据卡尔曼滤波_使用Highcharts和InfluxDB可视化时间序列数据
实时绘制大量带时间戳的数据往往是一项棘手的任务,需要相当多的技巧和过多的耐心.幸运的是,我们已经有了InfluxData平台来为我们提供开箱即用的许多困难.我们可以高效,安全地收集和存储数据,构建可视 ...
- 基于plotly数据可视化_如何使用Plotly进行数据可视化
基于plotly数据可视化 The amount of data in the world is growing every second. From sending a text to clicki ...
- matplotlib 显示批量图片_chapter4-1 简单数据可视化包Matplotlib整理1
Matplotlib是Python数据可视化最简单常用的包之一,笔者希望通过本篇文章和之后的常用技巧补充,将自己在科研和工作中积累和摘抄的数据可视化包使用经验和技巧笔记展示大家~ 本部分技巧知识点主要 ...
- 大数据可视化如何实现
大数据技术的有效可视化不应该只是为管理层绘制的漂亮图片.中琛魔方表示,企业可通过考虑布局.迭代设计.吸引用户和了解业务需求来改善结果. 实现大数据可视化的10个技巧: 1.考虑用户. 2.讲述连贯的故 ...
- 竞技体育数据可视化与可视化分析综述
A survey of competitive sports data visualization and visual analysis 竞技体育数据可视化与可视化分析综述 研究背景:1.竞技体育的 ...
最新文章
- 2019微生物组—宏基因组分析专题研讨会
- (0103)iOS开发之Xcode 10 Error:Multiple commands produce问题及解决方案
- ubuntu as86
- VTK修炼之道30:图像重采样_降采样和升采样技术
- mybatis关联查询
- 如何在 ASP.Net Core 中使用 File Providers
- 101_Power Pivot DAX 累计至今,历史累计至今
- 财付通php接口,dedecms 财付通接口,dedecms财付通_PHP教程
- Qt总结之十七:QByteArray类型里含中文的数据解析出现乱码
- android 广播观察者,androidObservable观察者模式
- 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
- centos linux 使用无线网卡,CentOS环境下安装无线网卡
- 轻薄 linux 笔记本,华为MateBook13Linux版全面屏轻薄性能笔记本一键重装win10图文
- CMOS到触发器(二)
- rt3290+linux驱动下载,Ralink雷凌RT3290蓝牙驱动
- python中怎么赋值一个数为负无穷_python里面正无穷和负无穷问题?
- 【python】简单使用selenium编写无界面谷歌浏览器的网页登录和签到功能
- 怎么检查计算机启动程序,如何查看电脑开机启动项
- ISO 14443 非接触式射频卡标准学习
- 蓝牙学习五(广播包分析wireshark)
热门文章
- c++实现计算二十四点--zj
- 中国湿地沼泽分类分布/自然保护区分布
- 一款免费好用的英文润色软件(1Checker没错,这是免费的)
- bootbox.confirm 官方例子 网址
- 函数求和公式计算机出库入库,Excel 库存统计相关函数及制作库存统计表
- 获取字符串的md5sum值——分别使用shell、python、c++实现
- 开发者案例 | 灵活高效涂鸦社区PaaS,助力社区智能化升级
- windows超级工具AlantopTool
- 8086CPU工作原理
- 易语言解压服务器中压缩包,易语言取压缩包中的文件列表源码