处理matplotlib中的无限奇异点

发布于 2025-01-20 10:28:37 字数 597 浏览 1 评论 0原文

我最近一直在用 Python 绘制 1/r 或 1/sqrt(x^2 + y^2) 的图形。当(x,y)→时(0,0), 1/r 变为 inf。为了解决这个问题,我使用 np.nan_to_num 来处理无穷大,但它只是给出了一个错误。我只是想让我的图表看起来不错,而不是像这张图片中那样有这些钻石:

picture

这是我的代码:

min, max, ds = -10, 10, 0.5
x = np.arange(min, max, ds)
y = np.arange(min, max, ds)
X, Y = np.meshgrid(x, y)

def potential(X, Y, X0, Y0):
    return 1/np.sqrt((X-X0)**2 + (Y-Y0)**2)

plt.figure(figsize = (9.5,8))
plt.contourf(X, Y, potential(X, Y, 0, 0), 100)
plt.colorbar()
plt.title("Electric potential", fontsize = 20)
plt.show()

I have been graphing the graph for 1/r or 1/sqrt(x^2 + y^2) in Python recently. When (x,y) -> (0,0), 1/r goes to inf. To deal with this, I used np.nan_to_num to deal with the infinities but it just gives an error. I just wanna make my graph look nice and not have these diamond things like in this picture:

picture

Here is my code:

min, max, ds = -10, 10, 0.5
x = np.arange(min, max, ds)
y = np.arange(min, max, ds)
X, Y = np.meshgrid(x, y)

def potential(X, Y, X0, Y0):
    return 1/np.sqrt((X-X0)**2 + (Y-Y0)**2)

plt.figure(figsize = (9.5,8))
plt.contourf(X, Y, potential(X, Y, 0, 0), 100)
plt.colorbar()
plt.title("Electric potential", fontsize = 20)
plt.show()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文