gpt4 book ai didi

python - Matplotlib 试图通过基本方程画一个圆( x**2 + y**2 = 9)

转载 作者:行者123 更新时间:2023-12-03 19:04:31 25 4
gpt4 key购买 nike

我正在尝试绘制一些数学方程式。使用下面的代码几乎可以得到一个椭圆而不是圆形。有没有办法改善形状..我尝试增加步骤。不确定另一个模块是否会更好或真的需要?我也可以以某种方式将方程作为输入..所以我不必使用 np.sqrt。我经历了一些已经回答的问题,但它们要么太具体,要么太复杂。所以请不要将其标记为重复。只是在这里寻找一个通用的解决方案,因为我还需要绘制抛物线和双曲线。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 1000 , 0.001)
y = np.sqrt(9 - np.power(x,2))

# Plot the points using matplotlib
plt.plot(x, y)

plt.show()
==================================================== =====
使用一些建议,也尝试绘制 y 和 -y .. 但是左侧的圆圈没有完成。
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-10, 10, 0.01)
y = np.sqrt(9 - np.power(x, 2))

# Plot the points using matplotlib
plt.gca().set_aspect('equal')
plt.plot(x, y)
plt.plot(x, -y)
plt.show()

最佳答案

首先,您需要设置一个包含您需要的所有值的 linspace,我看到您试图绘制一个半径为 3 的圆。

x = np.linspace(-5.0, 5.0, 1000)
y = np.linspace(-5.0, 5.0, 1000)
之后,使用 numpy 制作网格网格并使用 matplotlib 绘制轮廓。请注意 F是你的圆方程。
X, Y = np.meshgrid(x,y)

F = X**2 + Y**2 - 9.0
最后,只需调用 matplotlib 并将您的图形绘制为轮廓。
fig, ax = plt.subplots()

ax.contour(X,Y,F,[0])

ax.set_aspect(1)

plt.title('My Circle', fontsize=8)

plt.xlim(-10,10)
plt.ylim(-10,10)

plt.grid(linestyle='--')

plt.show()

关于python - Matplotlib 试图通过基本方程画一个圆( x**2 + y**2 = 9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63975431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com