Matplotlib scatter(): 默认值size和marker shape介绍

Matplotlib scatter(): 默认值size和marker shape介绍

在数据可视化中,Matplotlib是非常流行的一个Python库。其中的scatter()函数绘制散点图也是常用的方法之一。但是,对于散点图中的点的大小和形状可能存在疑问,本文将针对默认值为size和marker shape进行介绍。

阅读更多:Matplotlib 教程

scatter()函数详解

在Matplotlib中,scatter()函数是用来画散点图的,它的主要参数如下:

scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs) 
Python

其中,x和y指定散点图中点的位置;s指定点的大小;c指定点的颜色;marker指定点的形状。此外,还可以指定cmap来决定颜色的映射方式,vmin和vmax设置c缩放,alpha设置点的透明度等等。

默认值size

当不指定点的大小时,scatter()函数默认的大小为20,如下所示:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y)
plt.show()
Python

运行代码后,得到的散点图

我们发现,所有的散点的大小都是一致的,即默认大小20。但是,我们可以通过传入一个长度为n的数组,来为每一个点指定不同的大小。比如:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(50)
y = np.random.rand(50)
sizes = np.random.randint(10, 50, size=50)  # 生成长度为50的随机数组,取值范围在10-50之间
plt.scatter(x, y, s=sizes)
plt.show()
Python

运行代码后,得到的散点图

我们发现,不同大小的点之间存在明显的区别。这种区别在具有不同重要性的点的可视化中是非常有用的。

默认值marker shape

当不指定点的形状时,scatter()函数的默认形状是圆圈,即’marker’= ‘o’。比如:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y)
plt.show()
Python

我们发现,所有的散点的形状都是一致的。但是这并不妨碍我们自定义不同的形状。我们可以通过一些简单的方式,使点的形状不同。

比如:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(50)
y = np.random.rand(50)
markers = ['o', '*', '^', 's', 'd', 'x', 'p', '1', '2', '3', '4']  # 定义一个marker形状列表
for i in range(11):
    plt.scatter(x[i*5:(i+1)*5], y[i*5:(i+1)*5], marker=markers[i])  # 分别为11个点集指定不同的marker形状
plt.show()
Python

我们发现,我们成功地为不同的点集指定了不同的形状。这种区别在有多个数据集绘制在一张图上时十分实用。

总结

本文对于Matplotlib中散点图中点的大小和形状的默认值进行了介绍。我们了解到,散点图中点的大小和形状可以通过s和marker参数进行设置,如果不进行设置,则默认的大小为20,形状为圆圈。我们也同时学习到了如何通过数组等方式为不同的点设置不同的大小和形状,以方便清晰地传达数据的信息。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册