我有一个名为o_potential
的n x n矩阵,其中填充了一些值,并希望从中生成轮廓图。我尝试了几种方法但没有成功。这就是我现在所拥有的。
n = 20
x = arange(0,n-1)
y = arange(0,n-1)
plt.contourf(x, y, o_potential[x][y])
plt.show()
o_potential
看起来像这样
o_potential = [[ -1., -1., -1., -1., -1. ],
[ 10., 4.12244898, 2.7755102, 4.12244898, 10. ],
[ 10., 5.7755102, 4.24489796, 5.7755102, 10. ],
[ 10., 4.12244898, 2.7755102, 4.12244898, 10. ],
[ -1., -1., -1., -1., -1. ]]
我收到以下错误消息:“用作索引的数组必须是整数(或布尔)类型。”
我昨天一直在努力解决这个问题。我尝试了几乎所有Google搜索结果,但无法解决问题。感谢您的帮助!
答案 0 :(得分:5)
尝试:
n = 20
x = arange(n)
y = arange(n)
X, Y = meshgrid(x, y)
plt.contourf(X, Y, o_potential)
plt.show()
或只是
plt.contourf(o_potential)
plt.show()
很难确切地说出问题是什么,因为你没有显示o_potential,但上述内容可能会有效。
答案 1 :(得分:0)
您也可以尝试以下方法:
import matplotlib.pyplot as plt
plt.imshow(o_potential, cmap='viridis')