Matplotlib生成三维散点图

       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 入门教程 来源:Introduction to Matplotlib and basic l...
    布客飞龙阅读 31,898评论 5 162
  • Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。...
    听城阅读 5,730评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 史迹斑斓,红军树红叶见证;文明悠远,仙人洞仙风氤氲。惊诧我偏居一隅之蕞尔小邑,竟有此美轮美奂之卓然大雅。 而环境污...
    蔡德林阅读 2,495评论 12 13
  • 谈谈近两个月的工作 --都说工作是有苦又累的,因为每天又做不完的任务,那我可能找了个假工作 不知不觉,到下周末...
    AbnerTan阅读 261评论 1 2