[英]Contour of (x, y, z) list values
在python中,我可以得到一個輪廓:
import numpy as np
import pylab as p
def main():
delta = 1
x = np.arange(-4.0, 4.0, delta)
y = np.arange(-4.0, 4.0, delta)
len_x, len_y = len(x), len(y)
z = np.random.rand(len_x, len_y)
cs = p.contour(x, y, z)
p.clabel(cs, inline=1, fontsize=10)
p.show()
if __name__ == '__main__':
main()
ss http://f.cl.ly/items/1Q412v053q3n293E2k2j/Captura_de_pantalla_072915_064801_PM.jpg
如何獲取(x, y, z)
值列表的輪廓?
delta = 1
x = np.arange(-4.0, 4.0, delta)
y = np.arange(-4.0, 4.0, delta)
values = [(x0, y0, z0), (x1, y1, z1), (x3, y3, z3)]
cs = p.contour(x, y, values)
列表中的值很少,少於len_x * len_y
假設您只是想弄清楚如何在您的values
列表中輸入contour()
:
p.contour(*zip(*values))
我找到這個解決方案
import numpy as np
import pylab as p
from matplotlib.mlab import griddata
def main():
p.figure()
x = [1, 1, 2, 2]
y = [1, 2, 1, 2]
z = [0.1, 0.2, 0.5, 0.2]
p.scatter(x, y, color='k')
# define grid.
xi = np.linspace(0, 3, 1000)
yi = np.linspace(0, 3, 1000)
zi = griddata(x, y, z, xi, yi, interp='nn')
cs = p.contour(xi, yi, zi, 10)
p.clabel(cs, inline=1, fontsize=12)
p.colorbar()
p.show()
if __name__ == '__main__':
main()
ss http://f.cl.ly/items/2H0i002G2v260I2r0O46/Captura_de_pantalla_073015_115325_AM.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.