matplotlib绘制直线,给出两点,要求中间也要打点
时间: 2024-09-21 07:04:17 浏览: 31
在Matplotlib中绘制一条通过两个给定点并包含中间点的直线,你可以先计算中间点的坐标,然后使用`plot()`函数。下面是一个示例,假设你要绘制从点A(1, 2)到点B(4, 6)的直线,每单位长度包含一个点:
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义两点
point_A = (1, 2)
point_B = (4, 6)
# 计算中间点的坐标(在这里,由于间隔固定,我们可以直接除以点的数量)
num_points = 5 # 想要多少个点包括起点和终点
interval = [(point_B[i] - point_A[i]) / (num_points - 1) for i in range(2)]
middle_point = tuple(point_A[j] + interval[j] * k for j, k in enumerate(range(1, num_points)))
# 创建数据数组
x = np.concatenate([[point_A[0]], middle_point[0], [point_B[0]]])
y = np.concatenate([[point_A[1]], middle_point[1], [point_B[1]]])
# 绘制直线,包含起点、中间点和终点
plt.plot(x, y, 'o-', markersize=8) # 'o-' 表示起点和终点为圆点,中间是实线
# 显示图形
plt.show()
```
上述代码首先计算了两点之间的间距,并生成了一个包含起点、中间点和终点的数据数组。然后使用`plot()`函数画出了这条线,其中`'o-'`表示起点、中间点和终点分别为圆点标记。
阅读全文