【问题标题】:3D plots in PythonPython 中的 3D 绘图
【发布时间】:2013-10-09 19:23:55
【问题描述】:

如何在 3 个维度中绘制以下数据? (显然,不止这些!)

data = [[10, 10, 0.84496124031007758],
        [10, 20, 0.87209302325581395],
        [10, 30, 0.88139534883720927],
        [20, 10, 0.86201550387596892],
        [20, 20, 0.87441860465116272],
        [20, 30, 0.88992248062015500],
        [30, 10, 0.87984496124031009],
        [30, 20, 0.89922480620155043],
        [30, 30, 0.92015503875968996]]

【问题讨论】:

    标签: python 3d matplotlib plot


    【解决方案1】:

    你想得到什么样的情节?试试这个散点图。我还假设您的数据列在您问题的x,y,z 列表中。

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    x, y, z = zip(*data)
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.scatter(x,y,z)
    plt.show()
    

    【讨论】:

      【解决方案2】:

      您也可以使用 DataMelt http://jwork.org/dmelt。您可以像前面的示例 ANF 一样以 Python 方式解析此文件,而不是使用 HPlot 或 HPlotJa 或 SPlot java 类来可视化数据。也可以导出为Esp或pdf图片文件

      【讨论】:

        【解决方案3】:

        它基本上是将projection='3d' 添加到您的子情节中。

        import matplotlib.pyplot as plt
        import numpy as np
        
        
        fig = plt.figure() # create new figure
        ax = fig.add_subplot(projection='3d') # add 3d plot
        
        n = 100 # number of points
        
        # random points
        x = np.random.rand(n)
        y = np.random.rand(n)
        z = np.random.rand(n)
        
        # make and show plot
        ax.scatter(x, y, z)
        plt.show()
        

        使用ax.scatter,您可以配置点标记、颜色等。

        如图所示

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-07-21
          • 2021-05-05
          • 2021-03-30
          • 1970-01-01
          • 1970-01-01
          • 2023-04-07
          • 2021-01-21
          • 2013-05-23
          相关资源
          最近更新 更多