美文网首页
Matplotlib生成三维散点图

Matplotlib生成三维散点图

作者: 9fe00fb2eb1e | 来源:发表于2018-03-21 13:57 被阅读0次

           Matplotlib 绘制 3D 图像主要通过 mplot3d 模块实现,但由于三维图像实际上是在二维画布上展示,因此同样需要载入 pyplot 模块。

           mplot3d 模块下主要包含 4 个大类,分别是:

           * mpl_toolkits.mplot3d.axes3d():包含各种实现绘图的类和方法
           * mpl_toolkits.mplot3d.axis3d():包含坐标轴相关的类和方法
           * mpl_toolkits.mplot3d.art3d():包含2D转换并用于3D绘制的类和方法
           * mpl_toolkits.mplot3d.proj3d():其他的一些方法,如计算三维向量长度等

           一般情况下我们用到最多的是 axes3d() 中的axes3d.Axes3D() 类,Axes3D() 类下面存在散点图、线形图、柱状图、曲线图等各种制图方式。

    采用matplotlib生成散点图

           首先,导入必须的模块

    # 导入pandas、pyplot、Axes3D模块
    import pandas as pd
    import matplotlib.pyplot as plt 
    from mpl_toolkits.mplot3d import Axes3D 
    

           第二步,数据处理

    # 用pandas模块读取Excel文件,并分别生成X轴(lng,经度)、Y轴(lat,纬度)、Z轴(sj,时间)
    data = pd.read_excel('D:/pythondata/test.xlsx') 
    lng = pd.DataFrame(data,columns = ['经度'])
    lat = pd.DataFrame(data,columns = ['纬度'])
    sj = pd.DataFrame(data,columns = ['时间'])
    

           第三步:绘图

    # 生成画布、3D图形对象、三维散点图
    fig = plt.figure() 
    ax = Axes3D(fig) 
    ax.scatter(lng,lat,time) 
    
    # 设置坐标轴显示以及旋转角度
    ax.set_xlabel('lng') 
    ax.set_ylabel('lat')
    ax.set_zlabel('time')
    ax.view_init(elev=10,azim=235)
    plt.show()
    

    相关文章

      网友评论

          本文标题:Matplotlib生成三维散点图

          本文链接:https://www.haomeiwen.com/subject/kgcgqftx.html