利用numpy和matplotlib画两点的连线,坐标存在numpy中
时间: 2023-11-10 10:29:15 浏览: 264
下面是一段示例代码,其中点的坐标存储在numpy数组中,使用matplotlib中的plot函数绘制出两点的连线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 两个点的坐标
point1 = np.array([1, 2])
point2 = np.array([3, 4])
# 绘制点
plt.plot(point1[0], point1[1], 'bo')
plt.plot(point2[0], point2[1], 'bo')
# 绘制连线
plt.plot([point1[0], point2[0]], [point1[1], point2[1]], 'r-')
# 设置坐标轴范围
plt.xlim([0, 5])
plt.ylim([0, 5])
# 显示图像
plt.show()
```
运行这段代码可以得到如下图像:
![image](https://user-images.githubusercontent.com/2915035/128407662-5b5e5f5c-81d2-4a18-baa0-57b8a3b3f64b.png)
相关问题
numpy画过两点的直线
可以使用numpy中的polyfit函数来获得两点连线的一次多项式系数,然后使用这个系数来绘制直线。具体代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 生成随机坐标
x = np.random.rand(2)
y = np.random.rand(2)
# 用一次多项式拟合
coef = np.polyfit(x, y, 1)
# 生成一些用于绘图的横坐标
x_plot = np.linspace(0, 1, num=100)
# 计算纵坐标
y_plot = x_plot * coef[0] + coef[1]
# 绘制直线和原始点
plt.plot(x_plot, y_plot)
plt.plot(x, y, 'ro')
plt.show()
matplotlib 十字坐标系
matplotlib是一个非常流行的Python数据可视化库,它允许用户创建高质量的图表。十字坐标系是一种特殊的图表类型,也称为radar chart或星形图,常用于比较几个类别在各个维度上的表现。在matplotlib中,你可以使用`plt.polar()`函数或者`mpl_toolkits.mplot3d.Axes3D`模块的`polar projection`来创建这种图表。
以下是一个简单的例子展示如何使用matplotlib创建一个十字坐标系:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import numpy as np
# 创建数据点
categories = ['A', 'B', 'C', 'D', 'E']
values = [4, 2, 5, 3, 7]
host = host_subplot(111, polar=True)
par = host.twin()
par.axis["top"].set_visible(False)
host.set_yticklabels([])
par.set_xticks(np.arange(0, 2*np.pi, 2*np.pi/len(categories)), labels=categories)
par.set_ylim(0, 10) # 设置极轴范围
for value, category in zip(values, categories):
host.plot([np.pi/2], [value], marker='o', color='r') # 中心标记
par.plot([np.pi/2 - np.pi/len(categories), np.pi/2 + np.pi/len(categories)], [0, value], label=category) # 连线表示值
host.legend(loc="upper center", bbox_to_anchor=(0.5, -0.1))
plt.show()
```
在这个示例中,`host_subplot`负责创建主体的圆环图,而`twin()`函数则添加了一个附加的极轴来显示每个类别在各个维度的数值。
阅读全文