数据分析学习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这个库。