python画散点图<plt.scatter() 和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)
----------------------------------------------------------------------

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)
---------------------------------------------------------------------

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.1选取前两列数据

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

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

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

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

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

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

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

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

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

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

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

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

因为我是ZR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值