我正在尝试绘制一个在 的 4 个顶点处为 0 的函数单位正方形,1 在那个正方形的中间。我试过这个:
import matplotlib.pyplot
z = [[0,0,0], [1,0,0], [0,1,0], [1,1,0], [.5,.5,1]]
cn = matplotlib.pyplot.contour(z)
matplotlib.pyplot.show(cn)
得到这个:
我期望有一系列同心正方形,如下所示:
这是我做的时候得到的结果
ListContourPlot[{{0,0,0}, {1,0,0}, {0,1,0}, {1,1,0}, {.5,.5,1}},
ColorFunction -> (Hue[#1]&)]
在数学中。
我做错了什么?
编辑:我意识到为给定数据绘制等高线的方法不止一种。在这种情况下,一系列同心圆也可以。
对于非网格数据,如评论中所建议的,您可能想要使用 tricontour 函数:
>>> import matplotlib.pyplot as plt
>>> z = [[0,0,0], [1,0,0], [0,1,0], [1,1,0], [.5,.5,1]]
>>> x, y, z = zip(*z)
>>> cn = plt.tricontourf(x, y, z)
>>> plt.show()
HTH
我是一名优秀的程序员,十分优秀!