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