python热力图

其实之前网上有很多代码

主要是记录一下,首先是对日期的处理,把csv里面的日期,转换成python可以识别的日期,之后又把它转换成月份/日期

我的数据是第一列为日期,其他列的列名都为年份

sb.heatmap之后报错,后来发现需要将index设为日期

以此记录

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sb
from matplotlib import colors


data=pd.read_csv("H:\\mission\\in_index\\CAC4_is_route_1979_2021_date.csv") #extent_LS.csv,encoding='gb18030'

#ex=sb.load_dataset("flights")\
#        .pivot("month","year","passengers")

data['date'] = pd.to_datetime(data['date'])
data['date'] = data['date'].dt.strftime('%m/%d')
data = data.set_index(['date'])
data.head() 
sb.set_context({"figure.figsize":(8,8)})
cmap = colors.ListedColormap(["salmon", "white","royalblue"])
ax=sb.heatmap(data=data,linewidths=0.3,cmap=cmap,linecolor="black")#,cbar_kws={'label': 'Christmas colorbar'}
colorbar = ax.collections[0].colorbar
colorbar.set_ticks([-0.75,0,0.75])
colorbar.set_ticklabels(['not navigable', 'Nodata','navigable'])
#加了一下colorbar的边框线
colorbar.outline.set_linewidth(2)
colorbar.outline.set_edgecolor('black')
colorbar.outline.set_visible(True)

#colorbar.
ax.set_ylabel('Date')
ax.set_xlabel('Year') 
s1 = ax.get_figure()
s1.savefig('H:\mission\plot\is_route_1979_2021_HeatMap.jpg',dpi=300,bbox_inches='tight')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就是一只白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值