在Python中使用 Seaborn 的散点图
Seaborn是一个惊人的Python统计图形绘图可视化库。它提供了漂亮的默认样式和调色板,使统计图更具吸引力。它建立在 matplotlib 库之上,并紧密集成到 pandas 的数据结构中。
散点图
散点图可以与几个语义分组一起使用,这有助于在图中很好地理解。他们可以绘制二维图形,在使用色调、大小和样式参数的语义时,可以通过映射最多三个附加变量来增强这些图形。所有用于识别不同子集的参数控制视觉语义。使用冗余语义有助于使图形更易于访问。
Syntax: seaborn.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)
Parameters:
x, y: Input data variables that should be numeric.
data: Dataframe where each column is a variable and each row is an observation.
size: Grouping variable that will produce points with different sizes.
style: Grouping variable that will produce points with different markers.
palette: Grouping variable that will produce points with different markers.
markers: Object determining how to draw the markers for different levels.
alpha: Proportional opacity of the points.
Returns: This method returns the Axes object with the plot drawn onto it.
创建散点图
让我们使用 seaborn.scatterplot()函数可视化“fmri”数据集。我们将只使用函数的 x、y 参数。
代码:
Python3
import seaborn
seaborn.set(style='whitegrid')
fmri = seaborn.load_dataset("fmri")
seaborn.scatterplot(x="timepoint",
y="signal",
data=fmri)
Python3
import seaborn
seaborn.set(style='whitegrid')
fmri = seaborn.load_dataset("fmri")
seaborn.scatterplot(x="timepoint",
y="signal",
hue="region",
style="event",
data=fmri)
Python3
import seaborn
seaborn.set(style='whitegrid')
tip = seaborn.load_dataset('tips')
seaborn.scatterplot(x='day', y='tip', data=tip)
Python3
seaborn.scatterplot(x='day', y='tip', data= tip, marker = '+')
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='time')
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='day')
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue="time", style="time")
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='time', palette='pastel')
Python3
seaborn.scatterplot(x='day', y='tip', data=tip ,hue='size', size = "size")
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='day',
sizes=(30, 200), legend='brief')
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, alpha = 0.1)
输出:
根据类别对数据点进行分组,此处为区域和事件。
Python3
import seaborn
seaborn.set(style='whitegrid')
fmri = seaborn.load_dataset("fmri")
seaborn.scatterplot(x="timepoint",
y="signal",
hue="region",
style="event",
data=fmri)
输出:
使用散点图对“提示”数据集进行基本可视化。
Python3
import seaborn
seaborn.set(style='whitegrid')
tip = seaborn.load_dataset('tips')
seaborn.scatterplot(x='day', y='tip', data=tip)
输出:
使用不同属性对 Seaborn 散点图中的变量进行分组
1.添加标记属性
圆圈用于表示数据点,这里的默认标记是蓝色圆圈。在上面的输出中,我们看到了标记的默认输出,但是我们可以使用标记属性自定义这个蓝色圆圈。
Python3
seaborn.scatterplot(x='day', y='tip', data= tip, marker = '+')
输出:
2.添加色相属性。
它将产生具有不同颜色的数据点。色调可用于对多个数据变量进行分组,并显示要绘制的传递数据值的相关性。
Syntax: seaborn.scatterplot( x, y, data, hue)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='time')
输出:
在上面的示例中,我们可以看到小费和每日账单与午餐时间还是晚餐时间之间的关系。蓝色代表晚餐,橙色代表午餐。
让我们检查一个色调=“天”
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='day')
3. 添加样式属性。
将产生具有不同标记的点的分组变量。使用样式,我们可以生成散点分组变量,该变量将生成具有不同标记的点。
Syntax:
seaborn.scatterplot( x, y, data, style)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue="time", style="time")
输出:
4. 添加调色板属性。
使用调色板,我们可以生成具有不同颜色的点。在下面的示例中,我们可以看到调色板可以负责生成具有不同颜色图值的散点图。
Syntax:
seaborn.scatterplot( x, y, data, palette=”color_name”)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='time', palette='pastel')
输出:
5.添加尺寸属性。
使用大小我们可以生成点,我们可以生成不同大小的点。
Syntax:
seaborn.scatterplot( x, y, data, size)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip ,hue='size', size = "size")
输出:
6.添加图例属性。
.使用legend参数我们可以打开(legend=full),我们也可以使用(legend = False)关闭图例。
如果图例是“简短的”,则数字色调和大小变量将用均匀间隔值的样本表示。
如果图例“已满”,则每个组都将在图例中获得一个条目。
如果为 False,则不添加图例数据并且不绘制图例。
Syntax: seaborn.scatterplot( x, y, data, legend=”brief)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, hue='day',
sizes=(30, 200), legend='brief')
输出:
7.添加alpha属性。
使用 alpha 我们可以控制点的比例不透明度。我们可以减少和增加不透明度。
Syntax: seaborn.scatterplot( x, y, data, alpha=”0.2″)
Python3
seaborn.scatterplot(x='day', y='tip', data=tip, alpha = 0.1)
输出: