【问题标题】:Plotting data from 3D array across axis 0, side by side according to axis 1 and 2在轴 0 上绘制来自 3D 数组的数据,根据轴 1 和轴 2 并排绘制
【发布时间】:2016-06-09 21:31:06
【问题描述】:

这就是我所拥有的:n 是一个 3D 数组,其中:

x = [[a,b],
     [c,d]]

表示行中的每个元素。

如果我想在所有 x 上绘制 a,我会说:

import matplotlib.pyplot as plt
graph_data = n[:,0,0]
plt.plot(graph_data)

我想做的是创建一个这样的情节:

图(a) |图(b)

------------ + ------------

图(c) |图(d)


在网上,我看到各种各样的情节图片如:

在pyplot周围使用seaborn的包装器。

一定有某种方法可以让我绘制 x 的元素图,使其看起来像(本质上):

x = [[plot,plot],
     [plot,plot]]

我该怎么做?

【问题讨论】:

    标签: python numpy matplotlib scipy seaborn


    【解决方案1】:

    这给我带来了一些麻烦......而且,除非我看到了例子,否则我永远不会知道这是可能的,所以我会留下这个。无论如何,为了做我所问的,下面的代码是一个简单的开始:

    zarray = np.zeros((10,2,2))
    zarray[:,0,0] = 0
    zarray[:,0,1] = 1
    zarray[:,1,0] = 2
    zarray[:,1,1] = 3
    
    def plot_yz_over_x_elementwise(zarray):
        for i in range(zarray.shape[1]):
            for j in range(zarray.shape[2]):
                plt.subplot2grid((zarray.shape[1],zarray.shape[2]),(i,j))
                plt.plot(zarray[:,i,j])
    plot_yz_over_x_elementwise(zarray)
    

    【讨论】:

    • 1 年后,对 matplotlib 有了更多的了解:平淡无奇,没有最简单的方法来制作子图网格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多