gpt4 book ai didi

matplotlib - 使用函数绘制等值线图

转载 作者:行者123 更新时间:2023-12-03 09:10:28 26 4
gpt4 key购买 nike

我遇到了以下问题;

我必须在某个点 (chi=2.3) 绘制两个变量 chi2(X,Y) 的函数的等高线图。我已经尝试了很多方法,但我仍然不知道该怎么做。例如,我做了以下事情:

  import numpy as np
import matplotlib.pyplot as plt
from function import chi2 # Two variable function imported from another file

x = np.arange(-2,2,0.02)
y = np.arange(0,1.5,0.02)

X,Y= np.meshgrid(x,y)

Z = chi2(X,Y)

plt.figure()
CS = plt.contour(X,Y,Z)
plt.clabel(CS,inline=2.3, fontsize=10)
plt.show()

得到的错误是Supplied函数没有返回有效的 float 。但我可以打印值并使用该函数工作,所以我不知道到底是什么问题。

提前谢谢您。

伯纳特。

最佳答案

如果您想使用通用函数,关键是首先对其进行矢量化

例如

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
return 5 * x ** 2 + 2 * y + 8

v_func = np.vectorize(f) # major key!

x, y = np.meshgrid(np.linspace(-5, 5, 100),
np.linspace(-5, 5, 100))

fig, ax = plt.subplots(1)
ax.contour(x, y, v_func(x, y))
plt.show()

你应该得到这样的东西

enter image description here

关于matplotlib - 使用函数绘制等值线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42953266/

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