【发布时间】:2016-01-11 22:27:53
【问题描述】:
我有以下代码,并试图绘制我的数据的等高线图。我尝试按照论坛中的一些示例进行操作,但没有成功。我生成的运行此代码的情节并不是很好。任何建议将不胜感激。预先感谢您的协助。
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
import scipy.interpolate
N = 1000 # number of points for plotting/interpolation
FR = np.array([[0.763, 0.762, 0.954, 0.000, 0.835, 0.000],
[0.000, 1.052, 1.080, 1.176, 0.864, 0.811],
[1.179, 1.148, 1.368, 0.000, 1.147, 0.000],
[0.000, 1.279, 1.315, 1.434, 1.031, 0.880],
[1.176, 1.134, 1.355, 0.000, 1.131, 0.000],
[0.000, 1.008, 1.045, 1.092, 0.840, 0.724],
[0.672, 0.682, 0.755, 0.708, 0.643, 0.000]])
x = np.arange(1, 7)
y = np.arange(7, 1 + (-1), -1)
# Set up a regular grid of interpolation points
# xi, yi = np.linspace(x.min(), x.max(), N), np.linspace(y.min(), y.max(), N)
# xi, yi = np.meshgrid(xi, yi)
# Interpolate
# rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
# zi = rbf(xi, yi)
# plt.imshow(zi, vmin=z.min(), vmax=z.max(), origin='lower',
# extent=[x.min(), x.max(), y.min(), y.max()])
# plt.scatter(x, y, c=z)
# plt.colorbar()
# plt.show()
# plt.imshow(FR, interpolation='nearest')
# xi = np.linspace(x.min(), x.max(), N)
# yi = np.linspace(y.min(), y.max(), N)
# zi = scipy.interpolate.griddata((x, y), z, (xi[None,:], yi[:,None]), method='cubic')
# fig = plt.figure()
# plt.contour(xi, yi, zi)
# plt.xlabel("X")
# plt.ylabel("Y")
# plt.show()
# plt.pcolor()
# plt.colorbar()
plt.contourf(FR)
plt.axis('off')
plt.grid()
plt.show()
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
哪方面的剧情“不太好”?
标签: arrays numpy matplotlib 2d