数据分析学习1-----matplotlib

安装:Anaconda

详细见:https://blog.csdn.net/lwplwf/article/details/79162470

使用^ThinkPad-E560:~# spyder  命令打开编辑器 spyder


打开如上图所示

matplotlib简介:是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手     Matplotlib。

核心原理讲解:使用matplotlib绘图的原理,主要就是理解figure(画布)、axes(坐标系)、axis(坐标轴)三者之间的关系

 

 

 

 mplot3d 绘图模块介绍

前面,我们已经了解了如果使用 Matplotlib 中的 pyplot 模块绘制简单的 2D 图像。其实,Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三维图像时,同样需要载入 pyplot 模块。

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

  • mpl_toolkits.mplot3d.axes3d()
  • mpl_toolkits.mplot3d.axis3d()
  • mpl_toolkits.mplot3d.art3d()
  • mpl_toolkits.mplot3d.proj3d()

其中,axes3d() 下面主要包含了各种实现绘图的类和方法。axis3d() 主要是包含了和坐标轴相关的类和方法。art3d() 包含了一些可将 2D 图像转换并用于 3D 绘制的类和方法。proj3d() 中包含一些零碎的类和方法,例如计算三维向量长度等。

一般情况下,我们用到最多的就是 mpl_toolkits.mplot3d.axes3d() 下面的 mpl_toolkits.mplot3d.axes3d.Axes3D() 类,而 Axes3D() 下面又存在绘制不同类型 3D 图的方法。你可以通过下面的方式导入 Axes3D()

 

 

 

 

 

案例1

来源:简书

链接:https://www.jianshu.com/p/c508020bfcfd

绘制三维等高线图

具体的参数描述如下表所示:

参数描述
X, Y,Z 坐标点
rcount,ccount,rstride,cstride 坐标点
color 定义surface patch的颜色,type:color-like
cmap 定义surface patch的颜色,只不过是colorMap,type:colormap
facecolors 指定单个patch的颜色, type:array-like of colors
norm colormap的normalization,
shade 阴影效果,type:boolean
vmin, vmax normalization的边界
**kwargs 向下传递到Poly3DCollection
antialiased 抗锯齿,type:boolean

 

 





虽然Matplotlib是一款超级实用且流行的可视化工具,有下面两个缺点:

1、Matplotlib的API比较底层,虽然可以实现复杂的统计数据可视化,但是通常都要写大量的样板代码。

2、由于Matplotlib比Pandas出现早十几年,因此它不是专门为Pandas的DataFrmae设计的。为了实现DataFrame的可视化,你必须先提取每个Series,然后通常还需要将它们  合并成适当的格式,这显然很不友好。

新兴的Seaborn库在这两点上就做的很好,它在Matplotlib的基础上开发了一套API,为默认的图形样式和颜色设置提供了更好的选择,为常用的统计图形封装了许多简单的高级方法,并与Pandas的DataFrame有机结合。

大家可以再学习一下seaborn这个库。

posted @ 2020-04-12 22:14  何双新  阅读(354)  评论(0编辑  收藏  举报