python数据可视化

内容主要介绍了python模块matplotlib即seaborn数据可视化

matplotlib模块通过import matplotlib.pyplot as plt生成图形,如生成图形没展示,可调用plt.show()方法展示图形;

对于颜色属性设置,既可以使用十六进制颜色表达(#7777aa'),也可以使用颜色名称,比如绿色:green,红色:red,黄色:yellow

图形中如果涉及中文及数字中的负号,需要设置rcParams属性

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 如果有中文设置字体格式为微软雅黑
plt.rcParams['axes.unicode_minus'] = False   # 坐标轴如果有负数,通过该参数设置

一、饼图

主要应用于离散变量,展示各个成分结构占比

1. matplotlib绘制

matplotlib绘制饼图默认如果是椭圆形,如展示位正圆形,可通过pyplot模块中的axes设置为正圆形:plt.axes(aspect='equal)

pie(x, explode=None, labels=None, colors=None,autopct=None, pctdistance=0.6, shadow=False,labeldistance=1.1, startangle=None,radius=None, counterclock=True, wedgeprops=None,textprops=None, center=(0, 0), frame=False)

参数说明:

  • x:指定绘图的数据
  • explode:指定饼图某些部分的突出显示,即呈现爆炸式
  • labels:为饼图添加标签说明,类似于图例说明
  • colors:指定饼图的填充色,以可迭代对象传入,比如两种类型:colors=['#999ff','#7777aa']
  • autopct:自动添加百分比显示,可以采用格式化的方法显示,比如保留一位小数:autopct='%.1f%%'
  • pctdistance:设置百分比标签与圆心的距离
  • shadow:是否添加饼图的阴影效果
  • labeldistance:设置各扇形标签(图例)与圆心的距离
  • startangle:设置饼图的初始摆放角度
  • radius:设置饼图的半径大小
  • counterclock:是否让饼图按逆时针顺序呈现
  • wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等
  • textprops:设置饼图中文本的属性,如字体大小、颜色等
  • center:指定饼图的中心点位置,默认为原点
  • frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置

样例:

import matplotlib.pyplot as pltplt.title('渠道销售占比')
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 如果有中文设置字体格式为微软雅黑
plt.pie(x=[10,20,30],labels=['渠道一','渠道二','渠道三'],colors=['green','red','yellow'],autopct='%.1f%%')

绘制图如下:
在这里插入图片描述

2. pandas绘制

pandas模块可以绘制常见图形,诸如:折线图、条形图、直方图、箱线图、核密度图等;
可以通过kind参数设置图形类型,比如饼图(pie):kind='pie'

Series.plot(kind='line', ax=None, figsize=None, use_index=True, title=None,grid=None, legend=False, style=None, logx=False, logy=False,loglog=False, xticks=None, yticks=None, xlim=None, ylim=None,rot=None, fontsize=None, colormap=None, table=False, yerr=None,xerr=None, label=None, secondary_y=False, **kwds)

参数说明:

  • kind:指定一个字符串值,用于绘制图形的类型,默认为折线图line。还可以绘制垂直条形图bar、水平条形图hbar、直方图hist、箱线图box、核密度图kde、面积图area和饼图pie

  • ax:控制当前子图在组图中的位置例如,在一个2×2的图形矩阵中,通过该参数控制当前图形在矩阵中的位置

  • figsize:控制图形的宽度和高度,以元组形式传递,即(width,hright)

  • use_index:bool类型的参数,是否将序列的行索引用作x轴的刻度,默认为True

  • title:用以添加图形的标题

  • grid:bool类型的参数,是否给图形添加网格线,默认为False

  • legend:bool类型的参数,是否添加子图的图例,默认为False

  • style:如果kind为line,该参数可以控制折线图的线条类型

  • logx:bool类型的参数,是否对x轴做对数变换,默认为False

  • logy:bool类型的参数,是否对y轴做对数变换,默认为False

  • loglog:bool类型的参数,是否同时对x轴和y轴做对数变换,默认为False

  • xticks:用于设置x轴的刻度值

  • yticks:用于设置y轴的刻度值

  • xlim:以元组或列表的形式,设置x轴的取值范围,如(0,3)表示x轴落在0~3的范围之内

  • ylim:以元组或列表的形式,设置y轴的取值范围

  • rot:接受一个整数值,用于旋转刻度值的角度

  • fontsize:接受一个整数,用于控制x轴与y轴刻度值的字体大小

  • colormap:接受一个表示颜色含义的字符串,或者Python的色彩映射对象,该参数用于设置图形的区域颜色

  • table:该参数如果为True,表示在绘制图形的基础上再添加数据表;如果传递的是序列或数据框,则根据数据添加数据表

  • yerr:如果kind为bar或hbar,该参数表示在条形图的基础上添加误差棒

  • xerr:含义同yerr参数

  • label:用于添加图形的标签

  • secondary_y:bool类型的参数,是否添加第二个y轴,默认为False

  • **kwds:关键字参数,该参数可以根据不同的kind值,为图形添加更多的修饰性参数(依赖于pyplot中的绘图函数)

样例:

df = pd.DataFrame([['渠道一',10],['渠道二',20],['渠道三',30]],columns=['渠道','销售额'])
df['销售额'].plot(kind='pie',labels=df['渠道'],title='各渠道销售占比',autopct='%.1f%%')

在这里插入图片描述

二、条形图

同饼图一样,适用于分类型数据

1. matplotlib绘制

1.1 竖向条形图

bar(left, height, width=0.8, bottom=None, color=None, edgecolor=None,linewidth=None, tick_label=None, xerr=None, yerr=None,label = None, ecolor=None, align, log=False, **kwargs)

其中barh表示横向条形图

参数说明:

  • x:传递数值序列,指定条形图中x轴上的刻度值
  • height:传递数值序列,指定条形图y轴上的高度
  • width:指定条形图的宽度,默认为0.8
  • bottom:用于绘制堆叠条形图
  • color:指定条形图的填充色
  • edgecolor:指定条形图的边框色
  • linewidth:指定条形图边框的宽度,如果指定为0,表示不绘制边框
  • tick_label:指定条形图的刻度标签
  • xerr:如果参数不为None,表示在条形图的基础上添加误差棒
  • yerr:参数含义同xerr
  • label:指定条形图的标签,一般用以添加图例
  • ecolor:指定条形图误差棒的颜色
  • align:指定x轴刻度标签的对齐方式,默认为center,表示刻度标签居中对齐,如果设置为edge,则表示在每个条形的左下角呈现刻度标签
  • log:bool类型参数,是否对坐标轴进行log变换,默认为False
  • **kwargs:关键字参数,用于对条形图进行其他设置,如透明度等

样例:

df = pd.DataFrame([['渠道一',10],['渠道二',20],['渠道三',30]],columns=['渠道','销售额'])
plt.ylabel('销售额')
plt.style.use('seaborn-paper')   # 绘图风格,具体style值,可通过plt.style.available属性查看,有的值可能用不了
plt.title('各渠道销售情况')
plt.bar(x=range(df.shape[0]),height=df['销售额'],tick_label=df['渠道'])
for x,y in enumerate(df['销售额']):    plt.text(x,y+0.2,str(y),ha='center')   # 添加y轴标签

在这里插入图片描述

1.2 横向条形图:

df = pd.DataFrame([['渠道一',10],['渠道二',20],['渠道三',30]],columns=['渠道','销售额'])
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.ylabel('销售额')
plt.style.use('seaborn-paper')   # 绘图风格,具体style值,可通过plt.style.available属性查看
plt.title('各渠道销售情况')
plt.barh(y=range(df.shape[0]),width=df['销售额'],tick_label=df['渠道'])
for x,y in enumerate(df['销售额']):    plt.text(y+1,x,str(y),ha='center')   # 添加y轴标签
plt.show()

在这里插入图片描述

1.3 堆积条形图

相较以上单维度条形图,还可以在同一条形里绘制不同维度对比,同一柱子不同类别设置不同bottom参数即可

df = pd.DataFrame([['深圳',10,20],['北京',35,30],['广州',30,40]],columns=['地区','A部门销售额','B部门销售额'])
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 绘制A部门销售
plt.bar(x=range(df.shape[0]),tick_label=df['地区'],height=df['A部门销售额'],color='green')
# 绘制B部门销售
plt.bar(x=range(df.shape[0]),tick_label=df['地区'],height=df['B部门销售额'],color='red',bottom=df['A部门销售额'])# 如果有第三个部门,bottom=df['A部门销售额'] + df['C部门销售额']
# 显示y轴标签
plt.ylabel('销售额')
# 添加图图形标题
plt.title('各地区销售情况')
# 显示图例
plt.legend(['A部门销售额','B部门销售额'])
plt.show()

在这里插入图片描述

1.4 水平交错条形图

这块在绘制其他图形时,只需要将x轴的位置往右平移width宽度就好
样例:

df = pd.DataFrame([['深圳',10,20],['北京',35,30],['广州',30,40]],columns=['地区','A部门销售额','B部门销售额'])
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 绘制A部门销售
plt.bar(x=range(df.shape[0]),tick_label=df['地区'],height=df['A部门销售额'],color='green',width=0.2)
# 绘制B部门销售
plt.bar(x=[x+0.2 for x in range(df.shape[0])],tick_label=df['地区'],height=df['B部门销售额'],color='red',width=0.2)
plt.ylabel('销售额')
# 添加图图形标题
plt.title('各地区销售情况')
# 显示图例
plt.legend(['A部门销售额','B部门销售额'])
# 添加x轴标签,width=0.2,这里设置+0.1两根柱子居中
plt.xticks([x+0.1 for x in range(df.shape[0])],df['地区'])
plt.show()

效果如下:
在这里插入图片描述

如果添加刻度标签,通过plt.text参数设置即可,同上;

2. pandas绘制

2.1 竖形条形图

样例:

df = pd.DataFrame([['渠道一',10],['渠道二',20],['渠道三',30]],columns=['渠道','销售额'])
df['销售额'].plot(kind='bar',width=0.2,title='销售额',color='green')
plt.ylabel('销售额')
plt.title('各渠道销售情况')
plt.xticks(range(df.shape[0]),df['渠道'])
for x,y in enumerate(df['销售额']):    plt.text(x,y+0.4,str(y),ha='center')   # 添加y轴标签

在这里插入图片描述

2.2 水平交叉条形图

df = pd.DataFrame([['深圳',10,20],['北京',35,30],['广州',30,40]],columns=['地区','A部门销售额','B部门销售额'])
df.plot(x='地区',y=['A部门销售额','B部门销售额'],kind='bar',color=['green','red'],width=0.4,title='各地区销售额')
plt.ylabel('销售额')
plt.xlabel('')
plt.show()

在这里插入图片描述

3. seaborn绘制

import seaborn as sns

sns.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,ci=95, n_boot=1000, orient=None, color=None, palette=None,saturation=0.75, errcolor='.26', errwidth=None, dodge=True, ax=None, **kwargs)

参数说明

  • x:指定条形图的x轴数据
  • y:指定条形图的y轴数据
  • hue:指定用于分组的另一个离散变量
  • data:指定用于绘图的数据集
  • order:传递一个字符串列表,用于分类变量的排序
  • hur_order:传递一个字符串列表,用于分类变量hue值的排序
  • ci:用于绘制条形图的误差棒(置信区间)
  • n_boot:当指定ci参数时,可以通过n_boot参数控制自助抽样的迭代次数
  • orient:指定水平或垂直条形图
  • color:指定所有条形图所属的一种填充色
  • palette:指定hue变量中各水平的颜色
  • saturation:指定颜色的透明度
  • errcolor:指定误差棒的颜色
  • errwidth:指定误差棒的线宽
  • capsize:指定误差棒两端线条的长度
  • dodge:bool类型参数,当使用hue参数时,是否绘制水平交错条形图,默认为True
  • ax:用于控制子图的位置
  • **kwagrs:关键字参数,可以调用plt.bar函数中的其他参数

样例:

df = pd.DataFrame([['渠道一',10],['渠道二',20],['渠道三',30]],columns=['渠道','销售额'])
sns.barplot(y='渠道',x='销售额',data=df,color='steelblue',orient='horizontal')
plt.xlabel('销售额')
plt.ylabel('')
plt.title('各渠道销售')
for y,x in enumerate(df['销售额']):plt.text(x,y,str(x),va='center')
plt.show()

在这里插入图片描述

三、直方图

主要应用于连续型变量,查看变量分布情况

1. matplotlib绘制

plt.hist(x, bins=10, range=None, normed=False,weights=None, cumulative=False, bottom=None,histtype='bar', align='mid', orientation='vertical',rwidth=None, log=False, color=None,label=None, stacked=False)

参数说明:

  • x:指定条形图的x轴数据
  • y:指定条形图的y轴数据
  • hue:指定用于分组的另一个离散变量
  • data:指定用于绘图的数据集
  • order:传递一个字符串列表,用于分类变量的排序
  • hur_order:传递一个字符串列表,用于分类变量hue值的排序
  • ci:用于绘制条形图的误差棒(置信区间)
  • n_boot:当指定ci参数时,可以通过n_boot参数控制自助抽样的迭代次数
  • orient:指定水平或垂直条形图
  • color:指定所有条形图所属的一种填充色
  • palette:指定hue变量中各水平的颜色
  • saturation:指定颜色的透明度
  • errcolor:指定误差棒的颜色
  • errwidth:指定误差棒的线宽
  • capsize:指定误差棒两端线条的长度
  • dodge:bool类型参数,当使用hue参数时,是否绘制水平交错条形图,默认为True
  • ax:用于控制子图的位置
  • **kwagrs:关键字参数,可以调用plt.bar函数中的其他参数

2. seaborn绘制

sns.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None,hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None,color=None, vertical=False, norm_hist=False, axlabel=None,label=None, ax=None)

参数说明:

  • a:指定绘图数据,可以是序列、一维数组或列表
  • bins:指定直方图条形的个数
  • hist:bool类型的参数,是否绘制直方图,默认为True
  • kde:bool类型的参数,是否绘制核密度图,默认为True
  • rug:bool类型的参数,是否绘制须图(如果数据比较密集,该参数比较有用),默认为False
  • fit:指定一个随机分布对象(需调用scipy模块中的随机分布函数),用于绘制随机分布的概率密度曲线
  • hist_kws:以字典形式传递直方图的其他修饰属性,如填充色、边框色、宽度等
  • kde_kws:以字典形式传递核密度图的其他修饰属性,如线的颜色、线的类型等
  • rug_kws:以字典形式传递须图的其他修饰属性,如线的颜色、线的宽度等
  • fit_kws:以字典形式传递概率密度曲线的其他修饰属性,如线条颜色、形状、宽度等
  • color:指定图形的颜色,除了随机分布曲线的颜色
  • vertical:bool类型的参数,是否将图形垂直显示,默认为True
  • norm_hist:bool类型的参数,是否将频数更改为频率,默认为False
  • axlabel:用于显示轴标签
  • a:指定绘图数据,可以是序列、一维数组或列表
  • bins:指定直方图条形的个数
  • hist:bool类型的参数,是否绘制直方图,默认为True
  • kde:bool类型的参数,是否绘制核密度图,默认为True
  • rug:bool类型的参数,是否绘制须图(如果数据比较密集,该参数比较有用),默认为False
  • fit:指定一个随机分布对象(需调用scipy模块中的随机分布函数),用于绘制随机分布的概率密度曲线
  • hist_kws:以字典形式传递直方图的其他修饰属性,如填充色、边框色、宽度等
  • kde_kws:以字典形式传递核密度图的其他修饰属性,如线的颜色、线的类型等
  • rug_kws:以字典形式传递须图的其他修饰属性,如线的颜色、线的宽度等
  • fit_kws:以字典形式传递概率密度曲线的其他修饰属性,如线条颜色、形状、宽度等
  • color:指定图形的颜色,除了随机分布曲线的颜色
  • vertical:bool类型的参数,是否将图形垂直显示,默认为True
  • norm_hist:bool类型的参数,是否将频数更改为频率,默认为False
  • axlabel:用于显示轴标签
  • label:指定图形的图例,需结合plt.legend()一起使用。
  • ax:指定子图的位置。

三、箱线图

主要用于查看连续型变量离散情况,比如找出离异值

1. matplotlib绘制

plt.boxplot(x, notch=None, sym=None, vert=None,whis=None, positions=None, widths=None,patch_artist=None, meanline=None, showmeans=None,showcaps=None, showbox=None, showfliers=None,boxprops=None, labels=None, flierprops=None,medianprops=None, meanprops=None,capprops=None, whiskerprops=None)

参数说明:

  • x:指定要绘制箱线图的数据
  • notch:是否以凹口的形式展现箱线图,默认非凹口
  • sym:指定异常点的形状,默认为+号显示
  • vert:是否需要将箱线图垂直摆放,默认垂直摆放
  • whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差
  • positions:指定箱线图的位置,默认为[0,1,2…]
  • widths:指定箱线图的宽度,默认为0.5
  • patch_artist:bool类型参数,是否填充箱体的颜色;默认为False
  • meanline:bool类型参数,是否用线的形式表示均值,默认为False
  • showmeans:bool类型参数,是否显示均值,默认为False
  • showcaps:bool类型参数,是否显示箱线图顶端和末端的两条线(即上下须),默认为True
  • showbox:bool类型参数,是否显示箱线图的箱体,默认为True
  • showfliers:是否显示异常值,默认为True
  • boxprops:设置箱体的属性,如边框色,填充色等
  • labels:为箱线图添加标签,类似于图例的作用
  • filerprops:设置异常值的属性,如异常点的形状、大小、填充色等
  • medianprops:设置中位数的属性,如线的类型、粗细等。
  • meanprops:设置均值的属性,如点的大小、颜色等。
  • capprops:设置箱线图顶端和末端线条的属性,如颜色、粗细等。
  • whiskerprops:设置须的属性,如颜色、粗细、线的类型等。

2. seaborn绘制

 sns.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,orient=None, color=None, palette=None, saturation=0.75, width=0.8,dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)

参数说明:

  • x:指定箱线图的x轴数据
  • y:指定箱线图的y轴数据
  • hue:指定分组变量
  • data:指定用于绘图的数据集
  • order:传递一个字符串列表,用于分类变量的排序
  • hue_order:传递一个字符串列表,用于分类变量hue值的排序
  • orient:指定箱线图的呈现方向,默认为垂直方向
  • color:指定所有箱线图的填充色
  • palette:指定hue变量的区分色
  • saturation:指定颜色的透明度
  • width:指定箱线图的宽度
  • dodge:bool类型的参数,当使用hue参数时,是否绘制水平交错的箱线图,默认为True
  • fliersize:指定异常值点的大小
  • linewidth:指定箱体边框的宽度
  • whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差
  • notch:bool类型的参数,是否绘制凹口箱线图,默认为False
  • ax:指定子图的位置
  • **kwargs:关键字参数,可以调用plt.boxplot函数中的其他参数

四、小提琴图

1. seaborn绘制

sns.violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,bw='scott', cut=2, scale='area', scale_hue=True, gridsize=100,width=0.8, inner='box', split=False, dodge=True, orient=None,linewidth=None, color=None, palette=None, saturation=0.75, ax=None)

相关参数:

  • x:指定小提琴图的x轴数据
  • y:指定小提琴图的y轴数据
  • hue:指定一个分组变量
  • data:指定绘制小提琴图的数据集
  • order:传递一个字符串列表,用于分类变量的排序
  • hue_order:传递一个字符串列表,用于分类变量hue值的排序
  • bw:指定核密度估计的带宽,带宽越大,密度曲线越光滑
  • scale:用于调整小提琴图左右的宽度,如果为area,则表示每个小提琴图左右部分拥有相同的面积;如果为count,则表示根据样本数量来调节宽度;如果为width,则表示每个小提琴图左右两部分拥有相同的宽度
  • scale_hue:bool类型参数,当使用hue参数时,是否对hue变量的每个水平做标准化处理,默认为True
  • width:使用hue参数时,用于控制小提琴图的宽度
  • inner:指定小提琴图内部数据点的形态,如果为box,则表示绘制微型的箱线图;如果为quartiles,则表示绘制四分位的分布图;如果为point或stick,则表示绘制点或小竖条
  • split:bool类型参数,使用hue参数时,将小提琴图从中间分为两个不同的部分,默认为False
  • x:指定小提琴图的x轴数据
  • y:指定小提琴图的y轴数据
  • hue:指定一个分组变量
  • data:指定绘制小提琴图的数据集
  • order:传递一个字符串列表,用于分类变量的排序
  • hue_order:传递一个字符串列表,用于分类变量hue值的排序
  • bw:指定核密度估计的带宽,带宽越大,密度曲线越光滑
  • scale:用于调整小提琴图左右的宽度,如果为area,则表示每个小提琴图左右部分拥有相同的面积;如果为count,则表示根据样本数量来调节宽度;如果为width,则表示每个小提琴图左右两部分拥有相同的宽度
  • scale_hue:bool类型参数,当使用hue参数时,是否对hue变量的每个水平做标准化处理,默认为True
  • width:使用hue参数时,用于控制小提琴图的宽度
  • inner:指定小提琴图内部数据点的形态,如果为box,则表示绘制微型的箱线图;如果为quartiles,则表示绘制四分位的分布图;如果为point或stick,则表示绘制点或小竖条
  • split:bool类型参数,使用hue参数时,将小提琴图从中间分为两个不同的部分,默认为False

五、折线图

一般用于反应连续型变量趋势

1. matplotlib绘制

plt.plot(x, y, linestyle, linewidth, color, marker,markersize, markeredgecolor, markerfactcolor,markeredgewidth, label, alpha)

参数说明:

  • x:指定折线图的x轴数据
  • y:指定折线图的y轴数据
  • linestyle:指定折线的类型,可以是实线、虚线、点虚线、点点线等,默认为实线
  • linewidth:指定折线的宽度
  • marker:可以为折线图添加点,该参数是设置点的形状
  • markersize:设置点的大小
  • markeredgecolor:设置点的边框色
  • markerfactcolor:设置点的填充色
  • markeredgewidth:设置点的边框宽度
  • label:为折线图添加标签,类似于图例的作用

线的类型(参数:linestyle):
线的类型
点的类型(参数:marker):
在这里插入图片描述

六、散点图

主要用于研究两个变量的相关关系,比如线性回归,可以先通过绘制散点图看两个变量相关情况

1. matplotlib绘制

scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None,vmax=None, alpha=None, linewidths=None, edgecolors=None)

参数说明:

  • x:指定散点图的x轴数据
  • y:指定散点图的y轴数据
  • s:指定散点图点的大小,默认为20,通过传入其他数值型变量,可以实现气泡图的绘制
  • c:指定散点图点的颜色,默认为蓝色,也可以传递其他数值型变量,通过cmap参数的色阶表示数值大小
  • marker:指定散点图点的形状,默认为空心圆
  • cmap:指定某个Colormap值,只有当c参数是一个浮点型数组时才有效
  • norm:设置数据亮度,标准化到0~1,使用该参数仍需要参数c为浮点型的数组
  • vmin、vmax:亮度设置,与norm类似,如果使用norm参数,则该参数无效
  • alpha:设置散点的透明度
  • linewidths:设置散点边界线的宽度
  • edgecolors:设置散点边界线的颜色

2. pandas绘制

df.plot(kind='scatter',x='x变量的column名称',y='y的column名称',title='标题')
plt.xlabel('x轴标签')
plt.ylabel('y轴标签')
plt.show()   # 图展示

3. seaborn绘制

lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None,size=5, aspect=1, markers='o', sharex=True, sharey=True, hue_order=None,col_order=None, row_order=None, legend=True, legend_out=True, scatter=True,fit_reg=True, ci=95, n_boot=1000, order=1, logistic=False, lowess=False,robust=False, logx=False, x_partial=None, y_partial=None, truncate=False,x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None)

参数说明:

  • x,y:指定x轴和y轴的数据
  • data:指定绘图的数据集
  • hue:指定分组变量
  • col,row:用于绘制分面图形,指定分面图形的列向与行向变量
  • palette:为hue参数指定的分组变量设置颜色
  • col_wrap:设置分面图形中每行子图的数量
  • size:用于设置每个分面图形的高度
  • aspect:用于设置每个分面图形的宽度,宽度等于size*aspect
  • markers:设置点的形状,用于区分hue参数指定的变量水平值
  • sharex,sharey:bool类型参数,设置绘制分面图形时是否共享x轴和y轴,默认为True
  • hue_order,col_order,row_order:为hue参数、col参数和row参数指定的分组变量设值水平值顺序
  • legend:bool类型参数,是否显示图例,默认为True
  • legend_out:bool类型参数,是否将图例放置在图框外,默认为True
  • scatter:bool类型参数,是否绘制散点图,默认为True
  • fit_reg:bool类型参数,是否拟合线性回归,默认为True
  • ci:绘制拟合线的置信区间,默认为95%的置信区间
  • n_boot:为了估计置信区间,指定自助重抽样的次数,默认为1000次
  • order:指定多项式回归,默认指数为1
  • logistic:bool类型参数,是否拟合逻辑回归,默认为False
  • lowess:bool类型参数,是否拟合局部多项式回归,默认为False
  • robust:bool类型参数,是否拟合鲁棒回归,默认为False
  • logx:bool类型参数,是否对x轴做对数变换,默认为False
  • x_partial,y_partial:为x轴数据和y轴数据指定控制变量,即排除x_partial和y_partial变量的影响下绘制散点图
  • truncate:bool类型参数,是否根据实际数据的范围对拟合线做截断操作,默认为False
  • x_jitter,y_jitter:为x轴变量或y轴变量添加随机噪声,当x轴数据与y轴数据比较密集时,可以使用这两个参数
  • scatter_kws:设置点的其他属性,如点的填充色、边框色、大小等
  • line_kws:设置拟合线的其他属性,如线的形状、颜色、粗细等

核心参数:x,y,hue,data

七、气泡图

相比散点图展示二维数据关系,气泡图能展示更多的信息,比如可以通过气泡大小、颜色表示某个变量亦或维度

1. matplotlib绘制

在这里插入图片描述

八、热力图

比如查看各个城市拥挤情况,可以实现类似excel中颜色条件格式的效果,比如展示各个分组数据,值比较大的用深度颜色标记

1. seaborn绘制

 heatmap(data, vmin=None, vmax=None, cmap=None, center=None, annot=None, fmt='.2g',annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws = None,square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None)

参数说明:

  • data:指定绘制热力图的数据集
  • vmin,vmax:用于指定图例中最小值与最大值的显示值
  • cmap:指定一个colormap对象,用于热力图的填充色
  • center:指定颜色中心值,通过该参数可以调整热力图的颜色深浅
  • annot:指定一个bool类型的值或与data参数形状一样的数组,如果为True,就在热力图的每个单元上显示数值
  • fmt:指定单元格中数据的显示格式
  • annot_kws:有关单元格中数值标签的其他属性描述,如颜色、大小等
  • linewidths:指定每个单元格的边框宽度
  • linecolor:指定每个单元格的边框颜色
  • cbar:bool类型参数,是否用颜色条作为图例,默认为True
  • square:bool类型参数,是否使热力图的每个单元格为正方形,默认为False
  • cbar_kws:有关颜色条的其他属性描述
  • xticklabels,yticklabels:指定热力图x轴和y轴的刻度标签,如果为True,则分别以数据框的变量名和行名称作为刻度标签
  • mask:用于突出显示某些数据
  • ax:用于指定子图的位置

九、 多个图形合并

类似于tkinter,python图形展示可以通过grid布局,函数级参数如下:

subplot2grid(shape, loc, rowspan=1, colspan=1, **kwargs)

参数说明:

  • shape:指定组合图的框架形状,以元组形式传递,如2×3的矩阵可以表示成(2,3)。
  • loc:指定子图所在的位置,如shape中第一行第一列可以表示成(0,0)。
  • rowspan:指定某个子图需要跨几行。
  • colspan:指定某个子图需要跨几列。

其中跨行和跨列参数,表示该子图横向亦或纵向跨几个格子

在这里插入图片描述
上图,一个2x3=6个格子,左侧6个子图,右侧4个子图,有一个跨了两列,有一个跨了两行

十、绘图函数汇总

import matplotlib.pyplot as plt
import seaborn as sns

pandas则使用使用SeriesDataFrame调用plot函数即可

在这里插入图片描述

声明:函数参数说明主要整理自《从零开始学python数据分析与挖掘》

该书偏向技术应用,详解了python数据处理,可视化以及机器学习,如果纯粹学习技术应用,该书值得推荐。

其他相关书籍:张杰-《Python数据可视化之美》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/175835.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cdrx8和2020哪个版本更好用?有什么区别

经过多年的发展,cdr推出了很多优秀的版本,并顺应时代的发展更新了多项功能。随着cdr推出的软件版本增多,小伙伴们可选择的产品也在增多,那么该怎么选择呢?本文会给大家介绍cdrx8和2020的区别,CDRX8和2020哪…

Pytorch 猫狗识别案例

猫狗识别数据集https://download.csdn.net/download/Victor_Li_/88483483?spm1001.2014.3001.5501 训练集图片路径 测试集图片路径 训练代码如下 import torch import torchvision import matplotlib.pyplot as plt import torchvision.models as models import torch.nn as…

基于静电放电算法的无人机航迹规划-附代码

基于静电放电算法的无人机航迹规划 文章目录 基于静电放电算法的无人机航迹规划1.静电放电搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用静电放电算法来优化无人机航迹规划。 …

0基础学习PyFlink——用户自定义函数之UDF

大纲 标量函数入参并非表中一行(Row)入参是表中一行(Row)alias PyFlink中关于用户定义方法有: UDF:用户自定义函数。UDTF:用户自定义表值函数。UDAF:用户自定义聚合函数。UDTAF&…

1400*C. Team(模拟构造)

Problem - 401C - Codeforces 解析&#xff1a; 因为0不能相邻&#xff0c;所以0之间最少 n-1 个位置&#xff0c;最多 n1 个位置&#xff0c;如果 m<n-1显然不符题意。 并且1最多连续两个&#xff0c;所以 m>2*n2 同样不符题意。 其余情况构造即可 #include<bits/st…

【嵌入式】【GIT】如何迁移老的GIF到新的仓库时使用LFS功能并保持LOG不变

一、正常迁移流程 假设有仓库 ssh://old/buildroot-201902 需要迁移到新的仓库 ssh://old/buildroot-201902时,我们可以使用以下命令来完成: # 下载老的仓库 git clone ssh://old/buildroot-201902 # 向新的仓库上传所有的tags git push ssh://new/buildroot-201902 --tag…

【网络安全】Seeker内网穿透追踪定位

Seeker追踪定位对方精确位置 前言一、kali安装二、seeker定位1、ngrok平台注册2、获取一次性邮箱地址3、ngrok平台登录4、ngrok下载5、ngrok令牌授权6、seeker下载7、运行seeker定位8、运行隧道开启监听9、伪装链接10、用户点击&#xff08;获取定位成功&#xff09;11、利用经…

Rust-虽然9天过去了,结果是没有结果(Docker容器的端口映射问题)

​ 这篇文章收录于Rust 实战专栏。这个专栏中的相关代码来自于我开发的笔记系统。它启动于是2023年的9月14日。相关技术栈目前包括&#xff1a;Rust&#xff0c;Javascript。关注我&#xff0c;我会通过这个项目的开发给大家带来相关实战技术的分享。 前言 上上周了吧&#xf…

机器学习(六)构建机器学习模型

1.9构建机器学习模型 我们使用机器学习预测模型的工作流程讲解机器学习系统整套处理过程。 整个过程包括了数据预处理、模型学习、模型验证及模型预测。其中数据预处理包含了对数据的基本处理&#xff0c;包括特征抽取及缩放、特征选择、特征降维和特征抽样&#xff1b;我们将…

Linux的简介和环境搭建

简介 Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想&#xff0c;是一个…

Python构造代理IP池提高访问量

目录 前言 一、代理IP是什么 二、代理IP池是什么 三、如何构建代理 IP 池 1. 从网上获取代理 IP 地址 2. 对 IP 地址进行筛选 3. 使用筛选出来的 IP 地址进行数据的爬取 四、总结 前言 爬虫程序是批量获取互联网上的信息的重要工具&#xff0c;在访问目标网站时需要频…

#stm32整理(一)flash读写

以这篇未开始我将进行stm32学习整理为期一个月左右完成stm32知识学习整理内容顺序没有一定之规写到哪想到哪想到哪写到哪&#xff0c;主要是扫除自己知识上的盲区完成一些基本外设操作。 以stm32f07为例子进行flash读写操作 stm32flash简介 参考资料正点原子和野火开发手册 …

如何选择传感器输出模式——电流输出还是电压输出?

一 背景及挑战 传感器在汽车测试系统中发挥着采集和传输信息的作用&#xff0c;可称之为汽车的“神经元”。 按照功能可将传感器分为压力传感器、流量传感器、温湿度传感器和电流传感器等。传感器的主要指标是精度、测量范围和响应时间等。在满足指标的情况下&#xff0c;通常…

笔记软件Notability mac中文版软件功能

Notability mac是一款帮助用户备注文件的得力工具&#xff0c;Notability Mac版可用于注释文稿、草拟想法、录制演讲、记录备注等。它将键入、手写、录音和照片结合在一起&#xff0c;便于您根据需要创建相应的备注。 Mac Notability mac中文版软件功能 将手写&#xff0c;照片…

springboot和flask整合nacos,使用openfeign实现服务调用,使用gateway实现网关的搭建(附带jwt续约的实现)

环境准备&#xff1a; 插件版本jdk21springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos2.2.3&#xff08;稳定版&#xff09;python3.8 nacos部署&#xff08;docker&#xff09; 先创建目录&#xff0c;分别创建config&#xff0c;logs&#xf…

APISpace 全国快递物流地图轨迹查询API接口案例代码

1.全国快递物流地图轨迹查询接口详解 1.1 接口请求 请求方式&#xff1a;POST请求地址&#xff1a;https://eolink.o.apispace.com/wldtgj1/paidtobuy_api/trace_map请求头&#xff1a; 标签必填说明X-APISpace-Token是鉴权私钥&#xff0c;登陆 APISpace 后在管理后台的[访…

证照之星XE专业版下载专业证件照制作工具

值得肯定的是智能背景替换功能&#xff0c;轻松解决背景处理这一世界难题。不得不提及的是新增打印字体设置&#xff0c;包含字体选择、字号大小、字体颜色等。不同领域的应用证明了万能制作&#xff0c;系统支持自定义证照规格&#xff0c;并预设了17种常用的证件照规格。人所…

紧急:发现NGINX Ingress Controller for Kubernetes中的新安全漏洞

导语 大家好&#xff0c;今天我要向大家紧急报告一则消息&#xff1a;我们在NGINX Ingress Controller for Kubernetes中发现了三个新的安全漏洞&#xff01;这些漏洞可能被黑客利用&#xff0c;从集群中窃取机密凭据。在本文中&#xff0c;我们将详细介绍这些漏洞的细节&#…

ROCKCHIP ~ Camera 闪光灯

一、闪光灯基本原理 工作模式 Camera flash led分flash和torch两种模式。 flash&#xff1a; 拍照时上光灯瞬间亮一下&#xff0c;电流比较大&#xff0c;目前是1000mA&#xff0c;最大电流不能超过led最大承受能力 torch&#xff1a; 只用于录video或者拿led当手电筒的情况&…

python多环境并存

1. 现况简介 1.1 本人windows所存Python版本 Python 2.7 Python 3.6 Python 3.7 1.2 Python 各版本路径如下 Python 2.7Python 3.6Python 3.7C:\Server\Python27C:\Server\Python36C:\Server\Python37 1.3 系统环境变量配置如下 2. 解决方案 2.1 进入目录 cd C:\Server…