1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Python】使用日历热图进行时序数据可视化

【Python】使用日历热图进行时序数据可视化

时间:2024-02-22 07:20:18

相关推荐

【Python】使用日历热图进行时序数据可视化

相信很多人都会在 Github 中看到这么一个热图,该热图记录的是 Github 平台使用的日常贡献。在每个日历年的热图中以天为单位采样的时间序列数据。GitHub 的贡献图表示用户在过去几年中所做的贡献数量。色块表示贡献的数量,如色标下方所示。从这张热图中,我们可以检测到每天的贡献模式。

Github

时间序列数据

时间序列数据是随着时间的推移收集并按照一定规则排序的一系列数据,如时间序列中的每小时、每天、每月或每年的数据序列。时间序列的应用包括来自工业过程的传感器读数、降水、降雨、温度或农业作物生长等天气数据,患者在一段时间内的医疗记录等。时间序列分析发现隐藏的模式,如趋势或季节性。这里有份很详尽的介绍,建议戳👉时间序列定义、均值、方差、自协方差及相关性

日历热图

日历热图使用彩色单元格,通常采用单一基色色调,并使用其明度、色调和饱和度进行扩展(如从浅到深的蓝色)。它在日历视图中显示每天事件的相对数量。每天按周排列,按月和年分组。这使你能够快速识别每天和每周的模式。

Calplot

可视化是深入了解数据的好方法。在检查时间序列数据时,必须从数据中了解季节性或周期性行为(如果涉及)。使用 calplot python 库创建热图。Calplot 从 Pandas 时间序列数据创建热图。

pipinstallcalplot

Collecting calplotDownloading calplot-0.1.7.4-py3-none-any.whl (8.2 kB)Installing collected packages: calplotSuccessfully installed calplot-0.1.7.4

基本绘图

importcalplotimportnumpyasnp;np.random.seed(sum(map(ord,'calplot')))importpandasaspdall_days=pd.date_range('1/1/',periods=730,freq='D')days=np.random.choice(all_days,500)events=pd.Series(np.random.randn(len(days)),index=days)calplot.calplot(events)

隐藏边界

边界相关参数:edgecolor,指的是分隔月份的线条的颜色。将其设置为None即为隐藏边界。

all_days=pd.date_range('1/1/',periods=360,freq='D')days=np.random.choice(all_days,500)events=pd.Series(np.random.randn(len(days)),index=days)calplot.calplot(events,edgecolor=None,cmap='YlGn')

calplot_edgecolor_None

更改边界年份样式

参数yearlabel_kws传递给 matplotlibset_ylabel调用的关键字参数用于绘制每个子图的年份。该参数接受一个字典,可以设置颜色,大小等样式。

calplot.calplot(events,yearlabel_kws={'color':'black'},cmap='YlGn')

calplot_yearcolor_black

添加文本标签

和普通热图类似,可以在每个小格子上显示具体数值,通过参数textformattextfiller控制,分别表示网格单元文本的字符串格式,以及网格单元格的在文本缺失数据的时显示的文本样式。

calplot.calplot(events,textformat='{:.0f}',textfiller='-',cmap='YlGn')

calplot_textformat

隐藏颜色条

热图右边都会有个颜色线条,以注明每种颜色的颜色范围,如果你不需要显示,可以将参数colorbar设置为False

calplot.calplot(events,colorbar=False,cmap='YlGn')

calplot_colorbar_False

设置title

控制热图标题的参数suptitle,接受一个字符串。

calplot.calplot(events,suptitle='Randomdatafromstandardnormaldistribution',cmap='YlGn')

calplot_suptitle

隐藏热图的边线

控制将每天分开的线的宽度参数linewidth,如果要将其隐藏,可以将其直接设置为0即可。

calplot.calplot(events,linewidth=0,cmap='YlGn')

calplot_linewidth_zero

更多详情请见:https://calplot.readthedocs.io/en/latest/

往期精彩回顾适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载中国大学慕课《机器学习》(黄海广主讲)机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑AI基础下载机器学习交流qq群955171419,加入微信群请扫码:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。