公众号里的文章大多数需要编程基础,如果因为代码看不懂,而跟不上正文的节奏,可以来找我学习,相当于给自己一个新手保护期。我的课程都是循环开课。下一期的时间,点进去咨询微信↓ 生信分析直播课程(10月初下一期) 生信新手保护学习小组(预计9.13下一期) 单细胞陪伴学习小组(预计9.16下一期)
1.单变量作图
(1)直方图
(2)条形图,只能画离散型
练习
2.两变量作图
(1)箱线图
(2)点图,默认带趋势线
练习
3.分面
(1)自带分面参数的点图
(2)通用分面
练习
直方图:histplot,连续型和离散型数据都能画
条形图:countplot,只能画离散型
箱线图:boxplot
点图:regplot,自带趋势线,可以用参数设置不画趋势线。
趋势线图:lmplot(点图+趋势线图,可以用row或者col参数分面)
1.单变量作图
(1)直方图
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset('iris')
#直方图,可以画连续型数据,也可以画离散型数据
sns.histplot(iris.sepal_length,kde=True)
plt.show()
课程里使用的seaborn版本是0.11.2,画箱线图和countplot时自带不同颜色,
现在最新的seaborn版本是0.13.2,颜色都是青蓝,我自己搜索设置了一下颜色。
sns.histplot(x = 'species',palette='Set2',hue = 'species',data = iris)
plt.show()
(2)条形图,只能画离散型
sns.countplot(x = 'species',palette='Set2',hue = 'species',data = iris)
plt.show()
练习
countplot()
函数绘制sex
列的条形图。2.使用 seaborn
histplot()
函数绘制 total_bill
的直方图。import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
# Bar plot
sns.____(x=____, data=tips)
plt.show()
# Histogram
sns.____(____, kde = True)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
# Bar plot
sns.countplot(x='sex', data=tips)
plt.show()
# Histogram
sns.histplot(tips.total_bill, kde = True)
plt.show()
2.两变量作图
(1)箱线图
sns.boxplot(x='species', y='sepal_length', data=iris,palette='Set2',hue = 'species')
plt.show()
(2)点图,默认带趋势线
sns.regplot(x='sepal_length', y='sepal_width', data=iris)
plt.show()
#点图,不带趋势线
sns.regplot(x='sepal_length', y='sepal_width', data=iris,fit_reg=False)
plt.show()
练习
boxplot()
函数画箱线图,横坐标是sex
,纵坐标是tip
。2.使用 seaborn
regplot()
函数生成散点图,横坐标是total_bill
,纵坐标是tip
。import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
# Boxplot for tip by sex
sns.____(____=____, ____=____, data=tips)
plt.show()
# Scatter plot of total_bill and tip
sns.____(____=____, ____=____, ____=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
# Boxplot for tip by sex
sns.boxplot(x='sex', y='tip', data=tips)
plt.show()
# Scatter plot of total_bill and tip
sns.regplot(x='total_bill', y='tip', data=tips)
plt.show()
3.分面
(1)自带分面参数的点图
#点图分面,regplot没有col参数,不能直接分面
sns.lmplot(x='sepal_length', y='sepal_width', data=iris,fit_reg=False,col='species')
plt.show()
(2)通用分面
#其他图的分面
g = sns.FacetGrid(iris, col="species")
g = g.map(plt.hist,"sepal_length")
plt.show()
练习
lmplot()
画散点图,横坐标是“total_bill”
,纵坐标是“tip”
,用“smoker”
分面,并用“sex”
为点着色。2.用
FacetGrid()
函数创建一个分面对象,该对象由“time”
和“smoker”
分面,并由“sex”
着色,在 facet
上调用 .map()
,生成 'total_bill'
和 'tip'
的分面散点图。import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset('tips')
# Scatter plot of total_bill and tip faceted by smoker and colored by sex
sns.lmplot(x=____, y=____, data=tips, hue=____, col=____)
plt.show()
# FacetGrid of time and smoker colored by sex
facet = sns.____(tips, col="time", row=____, hue=____)
# Map the scatter plot of total_bill and tip to the FacetGrid
facet.____(____, ____, ____)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
# Scatter plot of total_bill and tip faceted by smoker and colored by sex
sns.lmplot(x='total_bill', y='tip', data=tips, hue='sex', col='smoker')
plt.show()
# FacetGrid of time and smoker colored by sex
facet = sns.FacetGrid(tips, col="time", row='smoker', hue='sex')
# Map the scatter plot of total_bill and tip to the FacetGrid
facet.map(plt.scatter, 'total_bill', 'tip')
plt.show()