0


Matplotlib库学习之scatter(模块)

Matplotlib库学习之scatter(模块)

一、简介

Matplotlib 是 Python 中一个强大的绘图库,其中

matplotlib.pyplot.scatter

用于创建散点图。散点图在数据可视化中广泛用于展示两个变量之间的关系。

二、语法和参数

语法
matplotlib.pyplot.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: 必选参数,代表散点图中每个点的 x 坐标和 y 坐标。
  • s: 可选,标量或数组,用于控制每个点的大小。
  • c: 可选,标量或数组,用于控制每个点的颜色。
  • marker: 可选,表示散点的形状,默认为 'o'
  • cmap: 可选,Colormap 对象或字符串,用于将标量数据映射到颜色。
  • norm: 可选,Normalize 对象,用于缩放颜色数据。
  • vmin, vmax: 可选,控制亮度标量数据的最小值和最大值。
  • alpha: 可选,标量,用于设置透明度。
  • linewidths: 可选,标量或数组,表示每个点的边缘宽度。
  • edgecolors: 可选,表示点的边缘颜色。
  • plotnonfinite: 可选,布尔值,如果为 True,会绘制非有限点(NaNInf)。
  • data: 可选,传递数据的对象。
  • kwargs: 其他传递给 matplotlib.axes.Axes.scatter 的参数。
返回值

返回一个

PathCollection

对象,表示绘制的散点图。

三、实例

3.1 绘制简单的散点图
import matplotlib.pyplot as plt

# 数据
x =[1,2,3,4,5]
y =[2,3,4,5,6]# 绘制散点图
plt.scatter(x, y)
plt.title("Simple Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()

输出:

显示一个简单的散点图,其中X轴表示1到5的值,Y轴表示2到6的值,每个点为一个圆形标记。
3.2 设置不同大小和颜色的点
import matplotlib.pyplot as plt

# 数据
x =[1,2,3,4,5]
y =[2,3,4,5,6]
sizes =[20,50,80,200,500]
colors =[10,20,30,40,50]# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, cmap='viridis', alpha=0.6)
plt.title("Scatter Plot with Varying Sizes and Colors")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar()# 添加颜色条
plt.show()

输出:

显示一个散点图,其中每个点的大小和颜色各不相同,点的颜色根据'viridis'颜色映射来进行区分。
3.3 使用自定义标记形状和边缘颜色
import matplotlib.pyplot as plt

# 数据
x =[1,2,3,4,5]
y =[2,3,4,5,6]
sizes =[100]*5
colors =[0,1,2,3,4]# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, marker='^', edgecolors='r', linewidths=2, cmap='plasma')
plt.title("Scatter Plot with Custom Marker and Edge Color")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar()# 添加颜色条
plt.show()

输出:

显示一个散点图,其中每个点的标记形状为三角形,并且有红色边缘,每个点的颜色根据'plasma'颜色映射来区分。

四、注意事项

  • 当使用 c 参数进行颜色映射时,如果 c 是标量数组,则需要指定 cmap 来定义颜色映射的范围。
  • alpha 参数可以用于调整点的透明度,值越低,点越透明。
  • edgecolors'none' 时,点将没有边缘颜色。

本文转载自: https://blog.csdn.net/qq_46396470/article/details/141234877
版权归原作者 Midsummer-逐梦 所有, 如有侵权,请联系我们删除。

“Matplotlib库学习之scatter(模块)”的评论:

还没有评论