[Python办公]如何用plt.scatter函数绘制散点图?

plt.scatter是Matplotlib库中的一个函数,用于绘制散点图。这个函数非常灵活,可以用于显示二维数据点的分布,并且可以定制多种属性来满足不同的绘图需求。下面是一个详细的例子,展示了如何使用plt.scatter函数来绘制一个散点图,并调整其各种属性。

案例一、

代码:

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的一些关键参数和功能:

  • 数据点:
  1. x和y参数:这两个参数是必须的,分别代表散点图的x坐标和y坐标。
  2. s参数:控制点的大小,默认值为1。
  • 颜色和标记:
  1. c参数:指定点的颜色,可以是颜色名、RGB元组、RGBA元组或数组。
  2. cmap参数:指定颜色映射,用于从颜色值到RGB颜色的转换。
  3. marker参数:指定点的标记样式,例如’o’(圆形)、‘s’(正方形)、‘^’(三角形上标)等。
  • 图形属性:
  1. alpha参数:控制点的透明度,值在0(完全透明)到1(完全不透明)之间。
  2. edgecolors参数:指定边框的颜色,可以是’face’(与点颜色相同)、‘none’(无边框)或颜色名。
  3. linewidths参数:指定边框的宽度。
  • 数据范围和比例尺:
  1. xlim和ylim参数:设置x轴和y轴的范围。
  2. xscale和yscale参数:设置x轴和y轴的比例尺,例如’linear’(线性)或’log’(对数)。
  • 颜色映射:
  1. norm参数:用于自定义颜色映射,可以用于标准化颜色值。
  2. vmin和vmax参数:设置颜色映射的最小值和最大值。
  • 图例和标签:
  1. label参数:用于在图例中添加标签。
  2. title参数:用于设置图表的标题。
  3. xlabel和ylabel参数:用于设置x轴和y轴的标签。
  • 更多高级功能:
  1. rasterized参数:用于将散点图栅格化,以提高绘制速度。
  2. zorder参数:用于控制绘图的顺序,较高的值会覆盖较低的值。

plt.scatter函数的使用非常广泛,可以根据不同的数据集和绘图需求进行定制。它不仅适用于简单的散点图,还可以用于更复杂的图表,如热图、密度图等。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值