来自多个阵列的3D图

时间:2015-06-01 21:37:47

标签: python arrays matplotlib

我成功地绘制了一个二维散点图:

x = np.asarray(plot_data[0])#time variable
y = np.asarray(plot_data[1])#address variable


fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
ax1.scatter(x,y, s=1, c=u'b', edgecolor='None',alpha=.75)
ax1.set_xlabel('Time')
ax1.set_ylabel('Address')
ax1.set_title('Memory Accesses')
ax1.plot()

我想添加第三个维度作为命中/间隔并开发出来:

time_axis= np.arange(60)
address_axis=np.arange(0x80000)
data = np.zeros((60, 0x80000))

for i in range(len(plot_data[0])):
    if (plot_data[0][i]//interval) == 60:
        i = 59
    data[plot_data[0][i]//interval][plot_data[1][i]]+=1

我可以成功地绘制每个地址切片的图形,以查看它已经总计了给定间隔的总命中数,但是我尝试使3D图形工作的每种格式都不成功。希望有人能够深入了解我如何错误地格式化我的数组。

3D尝试

time_axis= np.arange(60)
address_axis=np.arange(0x80000)

fig = plt.figure()
ax = fig.gca(projection='3d')


time_axis, address_axis = np.meshgrid(time_axis, address_axis)
Z = data[time_axis][address_axis]

导致内存错误

尝试转换为散点图:

for i in range(60):
    for j in range(0x80000):
        z_array.append(data[i][j])
        x_array.append(i)
        y_array.append(j)

 x = np.asarray(x_array)
 y = np.asarray(y_array)
 z = np.asarray(z_array)

 fig = plt.figure()
 ax = fig.add_subplot(111, projection='3d')
 ax.scatter(x, y, z)

此操作完成,但图表从不发布,窗口必须终止。

0 个答案:

没有答案