python--seaborn散点图
2021-05-08 本文已影响0人
FTDdata
seaborn是专门用于统计数据可视化的包,可媲美R语言中的ggplot2包。本文介绍用seaborn绘制散点图。
环境
- python3.9
- win10 64bit
- seaborn==0.11.1
- matplotlib==3.3.4
- pandas==1.2.1
数据
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# 设置
pd.options.display.notebook_repr_html=False # 表格显示
plt.rcParams['figure.dpi'] = 75 # 图形分辨率
sns.set_theme(style='darkgrid') # 图形主题
# 加载数据
tips=pd.read_csv(r'https://gitee.com/nicedouble/seaborn-data/raw/master/tips.csv')
tips.head()
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
绘制
在seaborn中,绘制散点图的函数有scatterplot
和relplot
。
seaborn
绘制散点图最简单的方式是使用scatterplot
方法,指定data
参数和x
和y
参数。
# 散点图
sns.scatterplot(data=tips,x='total_bill',y='tip')
plt.show()
scatter_6_0.png
添加hue
参数,设置点的分组颜色。
# 设置hue
sns.scatterplot(data=tips,x='total_bill',y='tip',hue='time')
plt.show()
scatter_8_0.png
添加style
参数,设置点的分组样式。
# 设置style
sns.scatterplot(data=tips,x='total_bill',y='tip',style='sex')
plt.show()
scatter_10_0.png
添加size
参数,设置点的分组大小。
# 设置size
sns.scatterplot(data=tips,x='total_bill',y='tip',size='size')
plt.show()
scatter_12_0.png
hue
,style
,size
参数可以同时设置多个。
# 同时设置hue,size
sns.scatterplot(data=tips,x='total_bill',y='tip',hue='time',size='size')
plt.show()
scatter_14_0.png
分面散点图用relplot
方法绘制,需要设置kind="scatter"
,然后使用col
,row
参数分面。
# 按列分面
sns.relplot(data=tips, x="total_bill", y="tip",col="time", hue="day", style="day",kind="scatter")
plt.show()
scatter_16_0.png
更多参考seaborn散点图