从重复数组创建一个python图

时间:2017-07-24 05:30:24

标签: python matplotlib

我的数据安排如下:

curl -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<ACCESS_TOKEN>”

我如何绘制它以便我有一个3x3的imshow或等高线图?

2 个答案:

答案 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实际上是xy的函数,并且您想要 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()