Python Seaborn介绍和Seaborn热力图
什么是Seaborn
seaborn是一个基于python matplotlib的一个数据可视化库,提供了更高级的API接口使得绘制图形更加简单高效。
如何利用seaborn绘制heatmap
seaborn 对应的heatmap 的参数介绍:
利用提供的世界人口的ASCII栅格数据可以绘制目标区域的人口分布热力图。
数据简单介绍
ncols和nrows是数据的列数和行数
xllcorner和yllcorner对应该数据方块的左下角的经度和纬度。
cellsize是每个数据占用的大小,即30/3600维度或经度,换算成长度大约为1km
-9999表示该cell没有数据或数据为0.
具体解释见代码:
# 8 Block data. Data is the total processed # data of eight blocks data = np.array(json.load(open('8_block_data.data'))['res']) population = sum(data[:, 2]) name = ['lon', 'lat', 'population'] df = pd.DataFrame(columns=name, data=data) df = df.pivot('lat', 'lon', 'population') # set figsize = 10 * 10 f, ax = pyplot.subplots(figsize=(10, 10)) # Manually set cmap parameters to modify color matching, refer to:https://seaborn.pydata.org/generated/seaborn.diverging_palette.html#seaborn.diverging_palette # set color palette to produce 1000 reds cmap = sns.color_palette("Reds", 1000) sns.heatmap(df, fmt='.2', robust=True, ax=ax, xticklabels=False, yticklabels=False, cmap=cmap, cbar=True, square=True, cbar_kws={"orientation": "horizontal"}).invert_yaxis() population = int(population) population = str(population) # title set pyplot.title('World Population Density Map' + "(World Population≈" + population+")") # save image dpi = 2000 pyplot.savefig('World Population Density Map' + '.png', dpi=2000) pyplot.show()
效果
效果如图,而且世界总人口计算是莫得问题的。
分类:
Python
标签:
heatmap
, Python seaborn
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~