目录
依赖:
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
样式
sns.set_style(param,rc={}) | 设置背景主题共有如下参数: param:white,dark,whitegrid,darkgrid,ticks 设置样式 rc={'font.family':"KaiTi"}设置为楷体,rc只能设置外形 rc={'figure.figsize':(10,6)}设置面板大小 |
plt.rcParams['font.family'] = "Microsoft YaHei" | 设置字体为微软雅黑 plt.rcParams和rc属性有类似的效果,使用起来更方便 传入键名: axes.facecolor设置背景颜色颜色用十六进制, grid.color设置网格的颜色, axes.grid设置为True代表开启网格, axes.edgecolor设置边框颜色 |
set_tiltle | 设置标题 |
调色板
sns.palplot(sns.color_palette(palette="rainbow", n_colors=30))
plt.show()
1、线性图
tips = pd.read_csv('tips.csv')
# sns.lineplot(x=tips.index, y=tips['total_bill'])
sns.lineplot(data=tips, x=tips.index, y="total_bill")
plt.show()
tips = pd.read_csv('tips.csv')
sns.set_style('darkgrid')
plt.rcParams['font.family'] = "Microsoft YaHei"
sns.lineplot(data=tips, x='size', y='total_bill').set_title("呵呵")
plt.show()
2、柱状图
tips = pd.read_csv('tips.csv')
sns.barplot(data=tips, x=tips.index, y='total_bill')
plt.show()
tips = pd.read_csv('tips.csv')
sns.barplot(data=tips, x='size', y='total_bill', hue='time', estimator=np.sum)
plt.show()
sns.barplot的属性 | 描述 |
hue | 按什么分组,设置之后会出现图例和分组 |
estimator | 计算的方法可以为np.sum、np.mean |
pallete | 设置颜色变化如rainbow |
3、箱线图
用来检测异常值
tips = pd.read_csv('tips.csv')
sns.boxplot(data=tips)
plt.show()
4、小提琴图
iris = pd.read_csv('iris.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.violinplot(data=iris)
plt.show()
5、带状散点图
iris = pd.read_csv('iris.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.stripplot(data=iris)
plt.show()
6、蜂群散点图
iris = pd.read_csv('iris.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.swarmplot(data=iris)
plt.show()
7、分面网格图
tips = pd.read_csv('tips.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.catplot(data=tips, x='size', y='tip', hue="sex", row='day')
plt.show()
tips = pd.read_csv('tips.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.catplot(data=tips, x='size', y='tip', hue="sex", col='day')
plt.show()
hue | 可以设置分类,会同时产生图例 |
row | 会换行显示 |
col | 会换列显示 |
8、散点图
tips = pd.read_csv('tips.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.scatterplot(data=tips)
plt.show()
hue | 分类并产生图例 |
size | 设置大小可以设置变量名,会随着变量名大小改变而改变 |
style | 可以设置为某个变量名,会按照不同的变量分配不同的散点样式 |
iris = pd.read_csv('iris.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.relplot(data=iris)
plt.show()
9、散步矩阵图
iris = pd.read_csv('iris.csv')
plt.rcParams['figure.figsize'] = (10, 6)
sns.pairplot(data=iris, hue='species')
plt.show()
kind | 设置除对角线图像意外的样式,如scatter |
diag_kind | 如果设置了hue则默认为kde,若没有设置hue则默认为hist |
10、联合图
sns.jointplot(data=iris)
11、直方图
sns.histplot(data=iris)
sns.displot(data=iris)
kind | kde时两个绘图会有区别,有兴趣可以试试 |
12、核密度估计图
sns.kdeplot(data=iris)
sns.kdeplot(data=iris,shade=True)
13、热力图
sns.heatmap(np.random.randint(5, 100, size=(6, 6)))
14、线性回归图
sns.regplot(x='petal_length', y='petal_width', data=iris)