当前位置:   article > 正文

python画散点图<plt.scatter() 和sns.scatterplot()>

sns.scatterplot

plt.scatter()画散点图

(matplotlib.pyplot.scatter)

----------------------------------------------------------------------
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,            
            vmin=None, vmax=None, alpha=None, linewidths=None, *, 
            edgecolors=None, plotnonfinite=False, data=None, **kwargs)
----------------------------------------------------------------------
  • 1
  • 2
  • 3
  • 4
  • 5

x,y:大小为(n,)的数组,即绘制散点图的数据点,相当于x、y轴坐标。
s:一个实数或一个数组大小为(n,)。理解为散点的点的大小。
c:颜色。默认蓝色’b’。
marker:标记的样式,默认’o’。
cmap:仅当c是一个浮点数数组的时候才使用。
如果没有申明就是image.cmap
norm:将数据亮度转化到0-1之间,只有c是一个浮点数的数组的时候才使用。
如果没有申明,就是默认为colors.Normalize。
vmin,vmax:实数,当norm存在的时候忽略。用来进行亮度数据的归一化。
alpha:实数,0-1之间。
linewidths:标记点的长度。


sns.scatterplot() 画散点图

(seaborn.scatterplot)

--------------------------------------------------------------------
sns.scatterplot(x=None, y=None, hue=None,
                    style=None, size=None, data=None, 
                    palette=None, hue_order=None, hue_norm=None,
                    sizes=None, size_order=None, size_norm=None, 
                    markers=True, style_order=None, x_bins=None,
                    y_bins=None, units=None, estimator=None, 
                    ci=95, n_boot=1000, alpha='auto', x_jitter=None,
                    y_jitter=None, legend='brief', ax=None, **kwargs)
---------------------------------------------------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

x,y:输入的绘图数据。
hue:对输入数据进行分组的序列,将生成不同颜色来区分数据。
style:对输入数据进行分组的序列,将生成不同形状的点来区分数据。
size:对输入数据进行分组的序列,将根据数据值生成不同大小的点来区分数据。
data:pandas.DataFrame型的数值型数据。
palette:设置不同组数据的显示颜色(因为hue参数使用的是默认颜色),可以使用seaborn.color_paletta()函数完成相关操作。
hue_order:列表型。设置hue变量显示顺序(默认根据数据确定)。
hue_norm
sizes:使用size时可以用此设定具体的大小。list dict(尺寸序列)或元组(尺寸上下限)。
size_order:设置尺寸显示顺序。
size_norm
markers:使用style时可以用此设定具体的标记。
style_order:设置标记显示顺序。

x,y,hue,style,size这几个量的长度应该是一致的

具体案例:
以tip.csv数据为示范:

tips=sns.load_dataset("tips")
tips.head()
  • 1
  • 2

这一步出错的同学可以参考这篇:链接
1.1选取前两列数据

sns.scatterplot(data=tips, x="total_bill", y="tip")
  • 1

在这里插入图片描述
1.2根据time列进行颜色区分

sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")
  • 1

在这里插入图片描述
1.3根据time列进行标记区分

sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", style="time")
  • 1

在这里插入图片描述
1.4增加调色板,可以对比1.2

sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", palette="deep")
  • 1

在这里插入图片描述
1.5可以新增列数据

rate = tips.eval("tip / total_bill").rename("rate")
sns.scatterplot(data=tips, x="total_bill", y="tip", hue=rate)
  • 1
  • 2

在这里插入图片描述
(还可以添加sizes变量改变点的大小哦)
1.6改变标记形状

sns.scatterplot(data=tips, x="total_bill", y="tip", style="time", markers={"Lunch": "s", "Dinner": "X"})
  • 1

在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号