python seaborn 热图_Python-Seaborn热图绘制的实现方法

本文详细介绍了如何使用Python的Seaborn库绘制热图,包括基本热图、自定义颜色范围、添加注释、网格线以及聚类热图的实现方法,结合实例代码展示了每种类型的热图绘制过程。
摘要由CSDN通过智能技术生成

制图环境:

pycharm

python-3.6

Seaborn-0.8

热图

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

sns.set()

np.random.seed(0)

uniform_data = np.random.rand(10, 12)

ax = sns.heatmap(uniform_data)

plt.show()

44c1123c85005b7565c8d8994c822d84.png

# 改变颜色映射的值范围

ax = sns.heatmap(uniform_data, vmin=0, vmax=1)

plt.show()

b867ddd0e618ee3d563c9ef6ec580ba1.png

uniform_data = np.random.randn(10, 12)

#为以0为中心的数据绘制一张热图

ax = sns.heatmap(uniform_data, center=0)

plt.show()

24a391a9b955bd4faa879bd24f0eb689.png

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

#用行和列标签绘制

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

# 绘制x-y-z的热力图,比如 年-月-销量 的热力图

f, ax = plt.subplots(figsize=(9, 6))

sns.heatmap(flights, ax=ax)

#设置坐标字体方向

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='right')

label_x = ax.get_xticklabels()

plt.setp(label_x, rotation=45, horizontalalignment='right')

plt.show()

fd4f50f0bf75cdd59e5ea915fcdb63dc.png

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

# 绘制x-y-z的热力图,比如 年-月-销量 的热力图

f, ax = plt.subplots(figsize=(9, 6))

#使用不同的颜色

sns.heatmap(flights, fmt="d",cmap='YlGnBu', ax=ax)

#设置坐标字体方向

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='right')

label_x = ax.get_xticklabels()

plt.setp(label_x, rotation=45, horizontalalignment='right')

plt.show()

8efb41e22f43aa4a0791408b86885310.png

注释热图

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

# 绘制x-y-z的热力图,比如 年-月-销量 的热力图

f, ax = plt.subplots(figsize=(9, 6))

#绘制热力图,还要将数值写到热力图上

sns.heatmap(flights, annot=True, fmt="d", ax=ax)

#设置坐标字体方向

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='right')

label_x = ax.get_xticklabels()

plt.setp(label_x, rotation=45, horizontalalignment='right')

plt.show()

249749bc0d3227a86b46e90b156827a9.png

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

# 绘制x-y-z的热力图,比如 年-月-销量 的热力图

f, ax = plt.subplots(figsize=(9, 6))

#绘制热力图,还要将数值写到热力图上

#每个网格上用线隔开

sns.heatmap(flights, annot=True, fmt="d", linewidths=.5, ax=ax)

#设置坐标字体方向

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='right')

label_x = ax.get_xticklabels()

plt.setp(label_x, rotation=45, horizontalalignment='right')

plt.show()

c33ccb52af9f1e5d045acf9a1ef0d69e.png

聚类热图

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

flights_long = sns.load_dataset("flights")

flights = flights_long.pivot("month", "year", "passengers")

# 绘制x-y-z的热力图,比如 年-月-销量 的聚类热图

g= sns.clustermap(flights, fmt="d",cmap='YlGnBu')

ax = g.ax_heatmap

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='left')

plt.show()

333ed53f81a0b766a7c909afb89e0a9f.png

import matplotlib.pyplot as plt

import seaborn as sns

sns.set(color_codes=True)

iris = sns.load_dataset("iris")

species = iris.pop("species")

#设置图片大小

g= sns.clustermap(iris, fmt="d",cmap='YlGnBu',figsize=(6,9))

ax = g.ax_heatmap

label_y = ax.get_yticklabels()

plt.setp(label_y, rotation=360, horizontalalignment='left')

#设置图片名称,分辨率,并保存

plt.savefig('cluster.tif',dpi = 300)

plt.show()

7a2581ab471001f3c43bb3246c0ca56a.png

注:更多参数的用法请查阅官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值