python - 循环遍历 numpy 数组,将所有数组绘制为单个图形(matplotlib)

标签 python arrays numpy matplotlib

下面的函数每个都绘制一个 numpy 数组
plot1D、plot2D 和plot3D 分别采用具有 1、2 和 3 列的数组

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D


def plot1D(data):
    x=np.arange(len(data))
    plot2D(np.hstack((np.transpose(x), data)))

def plot2D(data):
    # type: (object) -> object
    #if 2d, make a scatter
    plt.plot(data[:,0], data[:,1], *args, **kwargs)

def plot3D(data):
    #if 3d, make a 3d scatter
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.plot(data[:,0], data[:,1], data[:,2], *args, **kwargs)

我希望能够输入 1、2 或 3d 数组的列表,并将列表中的所有数组绘制到一个图形上

我已经添加了循环元素,但不确定如何保持图形并添加其他绘图...

def plot1D_list(data):
    for i in range(0, len(data)):
        x=np.arange(len(data[i]))
        plot2D(np.hstack((np.transpose(x), data[i])))

def plot2D_list(data):
    # type: (object) -> object
    #if 2d, make a scatter
    for i in range(0, len(data)):
        plt.plot(data[i][:,0], data[i][:,1], *args, **kwargs)

def plot3D_list(data):
    #if 3d, make a 3d scatter
    for i in range(0, len(data)):
        fig = plt.figure()
        ax = fig.add_subplot(111, projection='3d')
        ax.plot(data[i][:,0], data[i][:,1], data[i][:,2], *args, **kwargs)

最佳答案

要在同一轴上绘制多个数据集,您可以执行以下操作:

def plot2D_list(data,*args,**kwargs):
    # type: (object) -> object
    #if 2d, make a scatter
    n = len(data)
    fig,ax = plt.subplots() #create figure and axes
    for i in range(n):
        #now plot data set i
        ax.plot(data[i][:,0], data[i][:,1], *args, **kwargs)

你的其他函数可以用同样的方式推广。下面是使用上述函数与 5 组随机生成的 x-y 坐标的示例,每组长度为 100(5 个数据组中的每组显示为不同的颜色):

import numpy as np

X = np.random.randn(5,100,2)
plot2D_list(X,'o')
plt.show()

enter image description here

关于python - 循环遍历 numpy 数组,将所有数组绘制为单个图形(matplotlib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694357/

相关文章:

python - 根据多个条件获取 NumPy 数组的连续元素组

python - 在 Python 中更改语言环境后如何将其重置为原始语言环境?

python - Spotipy:readthedocs 中的简单代码出现异常

arrays - 在 ruby​​ 中压缩不均匀数组

python - 对非常大的 numpy 数组按 ID 进行分组的最快方法

python - Numpy/Python 性能与 Matlab

python - 在 Python 中从复选框中提取表单数据

python - 在架构 'required' 中验证 ['properties' 失败] ['rasa_nlu_data' ] ['properties' ] ['common_examples' ] ['items' ] ['properties' ] ['entities' 1010 ] 0x1010456767

java - 从文件扫描器到数组

java - 如何使用 DefaultListModel 创建多个具有不同值的 Jlist