【问题标题】:Plotting points in 3d from text file using Matplotlib or Octave使用 Matplotlib 或 Octave 从文本文件中绘制 3d 点
【发布时间】:2011-09-01 19:35:16
【问题描述】:

您好,我有一个包含三列数字的文本文件;一组点的 x、y、z 坐标各有一列。所有数字都在 0 到 1 之间。

我想在单位立方体 [0,1]x[0,1]x[0,1] 中绘制所有这些点。

请让我知道如何在 Octave 或 MatPlot lib 中执行此操作,以生成质量更好的图像为准。

【问题讨论】:

    标签: matplotlib octave


    【解决方案1】:

    如果我正确理解你的问题,这就是它在 Matplotlib 中的样子:

    这是生成此图的代码:

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    
    np.random.seed(101)
    x,y,z = np.random.rand(3,20)
    
    fig = plt.figure()
    # version 1.0.x syntax:
    #ax = fig.add_subplot(111, projection='3d')
    # version 0.99.x syntax: (accepted by 1.0.x as well)
    ax = Axes3D(fig)
    
    ax.scatter(x,y,z)
    
    fig.savefig('scatter3d.png')
    

    正如代码所示,matplotlib 0.99.1.1 版和 1.0.1 版的行为方式略有不同,如 SO question/answer 中所述。我使用的是 0.99.1.1,我无法使用 2D scatter 绘图的所有可用选项,这对于 3D 绘图也应该相同。分散功能的完整列表在here 中列出。

    上面的代码是在 3D 绘图上查看 matplotlib tutorial 的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 2020-10-07
      • 1970-01-01
      • 2021-03-06
      • 2012-11-12
      • 2020-06-12
      相关资源
      最近更新 更多