我的数据安排如下:
curl -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<ACCESS_TOKEN>”
我如何绘制它以便我有一个3x3的imshow或等高线图?
答案 0 :(得分:1)
您可以使用contourf。它要求您的数据跟随网格。您可以使用以下方法创建2D网格:
b.com
然后为所有x, y = np.meshgrid(x, y)
对运行z
函数并绘制。
(x, y)
或者,您可以拥有3D plot之类的内容:
import matplotlib.pyplot as plt
...
plt.contourf(x , y, z)
plt.show()
如果您无权访问生成from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
...
ax.plot_surface(x, y, z, color='b')
plt.show()
的函数。你必须interpolate。
z
答案 1 :(得分:1)
如果z
实际上是x
和y
的函数,并且您想要 countourf
进行绘图,则可以重塑阵列用numpy然后绘制它:
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0,1,2,0,1,2,0,1,2])
y = np.array([0,0,0,1,1,1,2,2,2])
z = np.array([2,4,3,3,5,1,1,2,1])
cols = np.unique(x).shape[0]
X = x.reshape(-1, cols)
Y = y.reshape(-1, cols)
Z = z.reshape(-1, cols)
plt.contourf(X,Y,Z)
plt.show()