plt.scatter是Matplotlib库中的一个函数,用于绘制散点图。这个函数非常灵活,可以用于显示二维数据点的分布,并且可以定制多种属性来满足不同的绘图需求。下面是一个详细的例子,展示了如何使用plt.scatter函数来绘制一个散点图,并调整其各种属性。
案例一、![](https://i-blog.csdnimg.cn/direct/f2bf3cb415ed43fa85459bb3faaec674.png)
代码:
import matplotlib.pyplot as plt
import numpy as np
# 生成模拟数据
np.random.seed(0)
x = np.random.rand(100) * 4.0 - 2.0
y = np.random.rand(100) * 4.0 - 2.0
c = np.sin(np.pi * x) * np.cos(np.pi * y) # 用于生成不同颜色的数据
# 创建散点图
plt.figure(figsize=(8, 6))
scatter = plt.scatter(x, y, c=c, cmap='viridis', s=50) # 调整点的大小为50
# 添加颜色条
plt.colorbar(scatter, label='Pollution Concentration')
# 设置标题和坐标轴标签
plt.title('Scatter Plot of Pollution Data')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
# 显示图形
plt.show()
在这个示例中:
- 我们使用np.random.rand(100) * 4.0 - 2.0生成100个随机点,这些点在x轴上分布在-2到2之间。
- 同样,np.random.rand(100) * 4.0 - 2.0生成100个随机点,这些点在y轴上分布在-2到2之间。
- c数组用于生成不同颜色的数据点,这里我们使用了np.sin(np.pi * x) * np.cos(np.pi * y)来模拟污染浓度。
- plt.scatter函数用于绘制这些点,我们设置了cmap='viridis'来指定颜色映射,s=50来调整点的大小。
- 最后,我们添加了一个颜色条,设置了标题和坐标轴标签,并显示了图形。
这个例子展示了如何使用plt.scatter函数的基本用法,以及如何调整其参数来定制散点图的外观。您可以根据需要调整这些参数来满足您的具体需求。
案例二、
要将在经纬度坐标上定义的路径增加到散点图上,我们首先需要理解路径的格式。提供的route_line是一个LINESTRING,它由一系列的经纬度对组成。这个路径表示一条线,我们可以将其绘制在散点图上,以显示特定的路径或路线。在Matplotlib中,我们可以使用plot函数来绘制这条路径。首先,我们需要从LINESTRING中提取经纬度数据,然后将其转换为NumPy数组,以便我们可以使用它们来绘制路径。
代码:
import matplotlib.pyplot as plt
import numpy as np
from shapely.geometry import LineString
# 提供的LINESTRING数据
route_line = LineString([(-0.1697, 51.4992518), (-0.1695871, 51.4988626), (-0.1688682, 51.4989511), (-0.1684893, 51.4989977)])
# 将LINESTRING转换为NumPy数组
route_coords = np.array(route_line.coords)
# 绘制散点图
plt.scatter(route_coords[:, 0], route_coords[:, 1], color='blue', label='Route Points')
# 绘制路径
plt.plot(route_coords[:, 0], route_coords[:, 1], color='red', label='Route Line')
# 设置图表标题和图例
plt.title('Scatter Plot with Route Line')
plt.legend()
# 显示图表
plt.show()
plt.scatter散点图详细参数介绍:
# 绘制散点图
plt.scatter(x, y, c='b', marker='o', , cmap='RdBu', alpha=0.5,label='数据点')
plt.scatter是Matplotlib库中的一个函数,用于绘制散点图。它用于显示由两个数值数组给出的数据点的二维图。这个函数非常灵活,允许您以多种方式定制散点图的样式和外观。以下是plt.scatter的一些关键参数和功能:
- 数据点:
- x和y参数:这两个参数是必须的,分别代表散点图的x坐标和y坐标。
- s参数:控制点的大小,默认值为1。
- 颜色和标记:
- c参数:指定点的颜色,可以是颜色名、RGB元组、RGBA元组或数组。
- cmap参数:指定颜色映射,用于从颜色值到RGB颜色的转换。
- marker参数:指定点的标记样式,例如’o’(圆形)、‘s’(正方形)、‘^’(三角形上标)等。
- 图形属性:
- alpha参数:控制点的透明度,值在0(完全透明)到1(完全不透明)之间。
- edgecolors参数:指定边框的颜色,可以是’face’(与点颜色相同)、‘none’(无边框)或颜色名。
- linewidths参数:指定边框的宽度。
- 数据范围和比例尺:
- xlim和ylim参数:设置x轴和y轴的范围。
- xscale和yscale参数:设置x轴和y轴的比例尺,例如’linear’(线性)或’log’(对数)。
- 颜色映射:
- norm参数:用于自定义颜色映射,可以用于标准化颜色值。
- vmin和vmax参数:设置颜色映射的最小值和最大值。
- 图例和标签:
- label参数:用于在图例中添加标签。
- title参数:用于设置图表的标题。
- xlabel和ylabel参数:用于设置x轴和y轴的标签。
- 更多高级功能:
- rasterized参数:用于将散点图栅格化,以提高绘制速度。
- zorder参数:用于控制绘图的顺序,较高的值会覆盖较低的值。
plt.scatter函数的使用非常广泛,可以根据不同的数据集和绘图需求进行定制。它不仅适用于简单的散点图,还可以用于更复杂的图表,如热图、密度图等。