天天看点

python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

时间线图表、热图

tsplot() / heatmap()

1.时间线图表 - tsplot()

示例1:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
 
#设置风格、尺度
sns.set_style('darkgrid')
sns.set_context('paper')
 
#不发出警告
import warnings
warnings.filterwarnings('ignore')
 
x = np.linspace(0, 15, 31)
data = np.sin(x) + np.random.rand(10,31) + np.random.randn(10,1)
print(data.shape)
print(pd.DataFrame(data).head())
 
sns.tsplot(data = data,
           err_style='ci_band', #误差数据风格,可选:ci_band, ci_bars, boot_traces,
           #boot_kde, unit_traces, unit_points
           interpolate = True,  #设置连线
           ci = [40, 70, 90],   #设置误差区间
           color = 'g'          #设置颜色
           )      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

示例2:

sns.tsplot(data = data, err_style = 'boot_traces',
           n_boot = 300   #迭代次数
           )      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

示例3:

#参数设置
#导入数据
gammas = sns.load_dataset('gammas')
print(gammas.head())
print('数据量为:%i条'%len(gammas))
print('timepoint为0.0时的数据量为:%i条'%len(gammas[gammas['timepoint'] == 0]))
#查看唯一具体信息
print('timepoint共有%i个唯一值'%len(gammas['timepoint'].value_counts()))
 
sns.tsplot(time = 'timepoint',    #时间数据, x轴
           value = 'BOLD signal', #y轴value
           unit = 'subject',      #拆分,默认参数
           condition = 'ROI',     #分类
           data = gammas
           )      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

2、热图 - heatmap()

df = pd.DataFrame(np.random.rand(10,12))
sns.heatmap(df, #加载数据
            vmin = 0, vmax = 1 #设置图例最大最小值
            )      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

示例2:设置参数

#设置参数
#加载数据
flights = sns.load_dataset('flights')
flights = flights.pivot('month','year','passengers')
print(flights.head())
 
sns.heatmap(flights,
            annot = True,   #是否显示数值
            fmt = 'd',      #格式化字符串
            linewidth = 0, #格子边线宽度
            center = 100,   #调色盘的色彩中心值,若没有指定,则以cmap为主
            cmap = 'Reds',  #设置调色盘
            cbar = True,     #是否显示图例色带
            #bar_kws = ['orientaion':'horizaintal'], #是否横向显示图例色带
            #square = True   #是否正方形显示图表
            )      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()

示例3:绘制半边热图

#设置风格
sns.set(style = 'white')
#创建数据
rs = np.random.RandomState(33)
d = pd.DataFrame(rs.normal(size = (100, 26)))
corr = d.corr()  #求解相关性矩阵表格
#设置一个‘上三角形’蒙版
mask = np.zeros_like(corr, dtype = np.bool)
mask[np.triu_indices_from(mask)] = True
#设置调色盘
cmap = sns.diverging_palette(220, 10, as_cmap = True)
#生成半边热图
sns.heatmap(corr, mask = mask, cmap = cmap, vmax = .3, center = 0,
            square = True, linewidths = 0.2)      
python可视化进阶---seaborn1.9 时间线图表、热图 tsplot() / heatmap()