-
seaborn学习笔记(五):绘制多子图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
In [2]:
sns.set()
In [3]:
iris = sns.load_dataset('iris', data_home='.')
In [4]:
iris.head(2)
Out[4]:
In [5]:
axesSub = sns.boxplot(x='species', y='sepal_length', data=iris)
axesSub = sns.stripplot(x='species', y='sepal_length', data=iris, ax=axesSub) # ax=axesSub,指定坐标性, 在之前箱型图基础上,继续绘制条带图
axesSub = sns.lineplot(x='species', y='sepal_length', data=iris, ax=axesSub) # ax=axesSub,指定坐标性, 在之前箱型图基础上,继续绘制折线图
In [6]:
fig, ax =plt.subplots(1,3,constrained_layout=True, figsize=(12, 3))
axesSub = sns.boxplot(x="species", y="sepal_length", data=iris, ax=ax[0])
axesSub.set_title('boxplot')
axesSub = sns.stripplot(x="species", y="sepal_length", data=iris, ax=ax[1])
axesSub.set_title('stripplot')
axesSub = sns.histplot(x="sepal_length", data=iris, ax=ax[2])
_ = axesSub.set_title('histplot')
In [7]:
g=sns.PairGrid(iris)
g=g.map(sns.scatterplot)
In [8]:
g=sns.PairGrid(iris, hue="species")
g=g.map(sns.scatterplot)
g = g.add_legend() # 手动添加图例
In [14]:
g = sns.PairGrid(iris, vars=["sepal_length", "sepal_width"])
g = g.map(sns.scatterplot)
In [13]:
g = sns.PairGrid(iris, vars=["sepal_length", "sepal_width"],height=1.5)
g = g.map(sns.scatterplot)
In [15]:
g = sns.PairGrid(iris)
g.map_offdiag(sns.scatterplot) #指定非对角线绘图类型为散点图
g.map_diag(sns.histplot) #指定对角线绘图类型为直方图
Out[15]:
In [24]:
g = sns.PairGrid(iris)
g.map_offdiag(sns.scatterplot) #指定非对角线绘图类型为散点图
g.map_diag(sns.histplot, color='red', element="step") #指定对角线绘图类型为直方图
Out[24]:
In [28]:
g = sns.PairGrid(iris, hue="species")
g.map_diag(sns.histplot) #指定对角线绘制直方图
g = g.map_upper(sns.scatterplot) # 指定上三角绘制散点图
g = g.map_lower(sns.kdeplot) # 指定下三角绘制核密度图
In [30]:
tips = sns.load_dataset('tips')
In [31]:
tips.head(2)
Out[31]:
In [46]:
g = sns.FacetGrid(tips, col="time", row="sex")
g.map(sns.histplot, "total_bill")
Out[46]:
In [41]:
g = sns.FacetGrid(tips, col="time", row="sex")
g.map(sns.scatterplot, "total_bill", "tip")
Out[41]:
In [36]:
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip")
g = g.add_legend()
In [48]:
g = sns.FacetGrid(tips, col="size", hue="smoker", col_wrap=4) # 每行最多显示4个子图,所以分两行显示了,第二行2个子图
g.map(sns.scatterplot, "total_bill", "tip")
g = g.add_legend()
In [54]:
g = sns.FacetGrid(tips, col="day", height=2.5, aspect=1.5)
g.map(sns.histplot, "total_bill")
Out[54]:
In [55]:
g = sns.FacetGrid(tips, col="time", margin_titles=True)
g.map_dataframe(sns.scatterplot, x="total_bill", y="tip")
g.refline(y=tips["tip"].median())
In [56]:
def annotate(data, **kws):
n = len(data)
ax = plt.gca()
ax.text(.1, .6, f"N = {n}", transform=ax.transAxes)
g = sns.FacetGrid(tips, col="time")
g.map_dataframe(sns.scatterplot, x="total_bill", y="tip")
g.map_dataframe(annotate)
Out[56]:
最新更新
博克-定制图例
博克-注释和图例
Bokeh–添加小部件
向博克图添加标签
将交互式滑块添加到博克图
在 Bokeh 中添加按钮
谷歌、微软、Meta?谁才是 Python 最大的金
Objective-C语法之代码块(block)的使用
URL Encode
go语言写http踩得坑
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
[SQL Server]按照设定的周别的第一天算任意
Linux下定时自动备份Docker中所有SqlServer数
武装你的WEBAPI-OData入门
武装你的WEBAPI-OData便捷查询
武装你的WEBAPI-OData分页查询
武装你的WEBAPI-OData资源更新Delta
5. 武装你的WEBAPI-OData使用Endpoint 05-09
武装你的WEBAPI-OData之API版本管理
武装你的WEBAPI-OData常见问题
武装你的WEBAPI-OData聚合查询
OData WebAPI实践-OData与EDM
OData WebAPI实践-Non-EDM模式