python ppt 绘图_Python数据分析-Matplotlib绘图基础

本文结构:

一、Matplotlib绘图基础及中文乱码解决

二、如何利用pandas绘图?

三、如何利用notebook制作分析报告?

图形在我们日常生活中无处不在。如果没有可视化,就是一些数字罗列,那就跟文字信息没什么差异了,同样让人难以理解,觉得枯燥。所以说,数据的可视化非常重要。

Matplotlib 是Python中著名的一个2D绘图库,通过 Matplotlib,我们可以快速绘制图表。很多其他的绘图包也是由它封装而成。

其中常用到的是它的pyplot,由于刚入门学习,本文主要学习pyplot。

一、数据可视化基础知识

1.图形的选择

盘点数据分析中的图表类型(我们主要掌握其中基本常用的几种):数据观:数据分析图表使用指南(上)​zhuanlan.zhihu.com数据观:数据分析图表使用指南(下)​zhuanlan.zhihu.com

2.matplotlib绘图基础

2.1 画板、画纸的概念画画用的画板和画纸

我们知道画画时需要画板和画纸。在matplotlib中也是一个道理。

图形在画板(figure)中绘制完成,而画板又由不同的画纸(axes)构成,具体的图形构建时要指明画板和画纸,否则默认一画板一画纸。

2.2 可视化图中的刻度表示:可视化图中的刻度表示

一图了解Matplotlib绘图的组成元素:图片来源于网络

二、如何使用绘图包Matplotlib?

绘图前准备工作:

首先,在使用先你需要在conda中安装包,输入命令:conda install matplotlib

进而使用import导入该绘图包:

#导入matplotlib的pyplot模块

import matplotlib.pyplot as plt

下面我们就可以开始绘制图形啦。

折线图绘制:

'''画图基本三步骤:第1步:定义x和y坐标轴上的点第2步:使用plot绘制线条第3步:显示图形'''

#第1步:

#x坐标轴上点的数值

x=[1, 2, 3, 4]

#y坐标轴上点的数值

y=[1, 4, 9, 16]

#第2步:使用plot绘制线条

#第1个参数是x的坐标值,第2个参数是y的坐标值

plt.plot(x,y)

#第3步:显示图形

plt.show()

得到图形:

以上给出的就是画图基本三步骤。现在试着在基本步骤上给上折线图增加一些属性。

'''color:线条颜色,值r表示红色(red)marker:点的形状,值o表示点为圆圈标记(circle marker)linestyle:线条的形状,值dashed表示用虚线连接各点'''

plt.plot(x, y, color='r',marker='o',linestyle='dashed')

'''axis:坐标轴范围语法为axis[xmin, xmax, ymin, ymax],也就是axis[x轴最小值, x轴最大值, y轴最小值, y轴最大值]'''

plt.axis([0, 6, 0, 20])

plt.show()

得到图形:

关于图形属性的设置,不需要记住全部,在用到时可对应查看官方文档进行设置即可:matplotlib.lines.Line2D - Matplotlib 3.2.1 documentation​matplotlib.org

在上面的绘图中,我们传入的参数是一个列表。如果在以后的绘图中只限定于参数时列表,这会给我们的分析工作造成不便。一般,我们传入的是numpy的数组。实际上,所有参入的值内部都会转换为numpy的数组。

下面我们尝试绘制包含多条线的图形。

import numpy as np

# arange用于生成一个等差数组,arange([start, ]stop, [step, ]

t = np.arange(0, 5, 0.2) # 0开始 5结束 间隔为0.2的等差数组

t

#结果为:

array([ 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2, 1.4, 1.6, 1.8, 2. ,

2.2, 2.4, 2.6, 2.8, 3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2,

4.4, 4.6, 4.8])

'''下面使用数组同时绘制多个线性'''

#线条1

x1=y1=t

#线条2

x2=x1

y2=t**2 # 运算符**,表示幂 - 返回x的y次幂,这里是t的2次方

#线条3

x3=x1

y3=t**3 # t的3次方

#使用plot绘制线条(借助List)

linesList=plt.plot(x1, y1,

x2, y2,

x3, y3 )

#用setp方法同时设置多个线条的属性

plt.setp(linesList, color='r')

plt.show()

print('返回的数据类型',type(linesList))

print('数据大小:',len(linesList))

#结果为:

返回的数据类型

数据大小: 3

得到图形:

光看图,我们不知道它描述的是哪个变量之间的关系。我们接着学给图形加上文本标签和注释。

'''添加文本:1.绘制图形2.添加:x、y轴标签;标题;注释'''

x=[1, 2, 3, 4]

y=[1, 4, 9, 16]

plt.plot(x,y)

plt.xlabel('x坐标轴')

plt.ylabel('y坐标轴')

plt.title('标题')

'''添加注释:xy:箭头注释中箭头所在位置,xytext:注释文本所在位置,arrowprops在xy和xytext之间绘制箭头,shrink表示注释点与注释文本之间的图标距离'''

plt.annotate('我是注释', xy=(2,5), xytext=(2, 10),

arrowprops=dict(facecolor='black', shrink=0.01)

)

plt.show()

得到图形:

我们看到,虽然有显示,但是显示的是中文乱码。

出现乱码原因:matplotlib 初始化加载时配置文件中没有加入中文字体,因此我们需要给它制定一个可用的中文字体。

如何一次解决绘图中文乱码问题?

1.找到配置文件matplotlib

#找到 matplotlib 加载的配置文件路径

import matplotlib

matplotlib.matplotlib_fname()

2.下载中文字体

根据自己的电脑系统下载对应的中文字体-复制到fonts文件下ttf中-最后双击安装

3.修改配置文件

在修改前我们先将配置文件备份(备份为matplotlibrc.bak),进而利用Notepad打开原文件进行修改编辑。

主要修改操作:利用Notepad打开matplotlibrc- 去掉#font.family前的#号-去掉#font.sans-serif前的#号并在后面后加"SimHei,"- 去掉#axes.unicode_minus前的#号并修改True为Flase

修改前:

修改后:

4.删除缓存目录

最后,找到C:\Users\你的用户名文件夹下的.matplotlib缓存文件夹,将这个缓存文件夹删除,再重启jupyter notebook即可,使新配置的文件生效。

现在我们重新运行下代码,来看下乱码问题是否解决:修改后图形

下面我们进一步学习,怎么使用多个画板、多个画纸来绘制多个图呢?以一个画板4张画纸(2*2)为例:

#创建画板1

fig = plt.figure(1) # 参数1代表画板1 不写参数,默认1

#第2步:创建画纸(子图)

'''subplot()方法里面传入的三个数字前两个数字代表要生成几行几列的子图矩阵,第三个数字代表选中的子图位置subplot(211)生成一个2行1列的子图矩阵,当前是第一个子图'''

#创建4张画纸(2*2)

#选择画纸1

#等价于ax1=fig.add_subplot(211)

ax1=plt.subplot(2,2,1) # 不指定的话默认子图subplot(111)

#在画纸上绘图

plt.plot([1, 2, 3])

#选择画纸2

ax2=plt.subplot(2,2,2)

#在画纸2上绘图

plt.plot([4, 5, 6])

import numpy as np

# arange用于生成一个等差数组,arange([start, ]stop, [step, ]

t = np.arange(0, 5, 0.2) # 0开始 5结束 间隔为0.2的等差数组

#选择画纸3

ax3=plt.subplot(2,2,3)

#在画纸2上绘图

plt.plot(t,t ** 2)

#选择画纸4

ax4=plt.subplot(2,2,4)

#在画纸2上绘图

plt.plot(t,t ** 3)

plt.show()

得到图形:

P: 如果没有指明画板figure()和子图subplot,会默认创建一个画板figure(1) 和一个子图subplot(111)。

三、如何使用Pandas绘图?

实际应用中我们使用的数据分析包Pandas,它有自己的绘图工具,它是在Matplotlib基础之上封装而成。这部分我们就一起学习如何利用Pandas的绘图功能。

下面将通过股票数据的可视化来学习这部分。具体详见:Daxuya:GAFATA股票数据可视化浅析​zhuanlan.zhihu.com

四、如何用Notebook制作数据分析报告?

数据分析报告的形成就好比我们写论文的过程,需要进行以下几个步骤:

1.提出问题- 2.理解数据- 3.数据清洗- 4.构建模型- 5.模型评估- 6.方案实施

数据分析报告的展现可以用文档报告,也可以是PPT展示。下面主要学习使用Notebook中的Markdown功能实现文档报告和用notebook中的幻灯片创建。

4.1 Notebook中的Markdown功能

具体详见:Daxuya:Markdown常用基本语法及目录插件安装​zhuanlan.zhihu.com

4.2 Notebook实现幻灯片创建

notebook不仅可以创建文本,还可以创建幻灯片!

幻灯片的创建与运行显示:View- Cell Toolbar- 幻灯片选项可以显示幻灯片菜单。

2. 在cell中,可以选择相应的类型。

其中,幻灯片表示一页的开始,子幻灯片会从前一张幻灯片的下方出现,而碎片会先处于隐藏状态,然后以动画的形式浮出在前一张(子)幻灯片内,其他的设置则会从演示中隐形。

3. 若不想类型显示在cell中,选择View- Cell Toolbar- None则可以隐藏和退出幻灯片。

4. 运行幻灯片

拿我之前学习Python基础的文件(Python基础学习.ipynb)为例,对其进行幻灯片创建:

在anocanda prompt中输入“jupyter nbconvert 当前notebook的文件路径 --to slides --post serve”,即会在当前文件夹下生成html文件,提供访问。

效果展示:

本文其实包含了三大块(matplotlib绘图基础、Pandas绘图、数据分析报告制作),每一块都值得好好学习。虽然花了前后几天的时间完成了这部分学习,但不等于学过就是学会,由于断断续续的学习,前后的知识点会出现衔接不上,后面要结合前面的知识点都串一串,内化为自己的。后边要把这块知识点整合到思维导图里边,方便之后自己的回顾和查找。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matplotlib Release 1.2.0 I User’s Guide 1 1 Introduction 3 2 Installing 5 2.1 Manually installing pre-built packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Installing from source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Build requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Building on OSX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Pyplot tutorial 9 3.1 Controlling line properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Working with multiple figures and axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Working with text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4 Interactive navigation 19 4.1 Navigation Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Customizing matplotlib 23 5.1 Thematplotlibrcfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 Dynamic rc settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6 Using matplotlib in a python shell 33 6.1 Ipython to the rescue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2 Other python interpreters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.3 Controlling interactive updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7 Working with text 37 7.1 Text introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.2 Basic text commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.3 Text properties and layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.4 Writing mathematical expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.5 Typesetting With XeLaTeX/LuaLaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 7.6 Text rendering With LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.7 Annotating text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8 Image tutorial 67 8.1 Startup commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.2 Importing image data into Numpy arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.3 Plotting numpy arrays as images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9 Artist tutorial 81 9.1 Customizing your objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 9.2 Object containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 9.3 Figure container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 9.4 Axes container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.5 Axis containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9.6 Tick containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 10 Customizing Location of Subplot Using GridSpec 95 10.1 Basic Example of using subplot2grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 10.2 GridSpec and SubplotSpec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.3 Adjust GridSpec layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.4 GridSpec using SubplotSpec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 10.5 A Complex Nested GridSpec using SubplotSpec . . . . . . . . . . . . . . . . . . . . . . . 99 10.6 GridSpec with Varying Cell Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 11 Tight Layout guide 103 11.1 Simple Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 12 Legend guide 119 12.1 What to be displayed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 12.2 Multicolumn Legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.3 Legend location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.4 Multiple Legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 12.5 Legend of Complex Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 13 Event handling and picking 127 13.1 Event connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.2 Event attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 13.3 Mouse enter and leave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 13.4 Object picking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14 Transformations Tutorial 137 14.1 Data coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 14.2 Axes coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 14.3 Blended transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 14.4 Using oset transforms to create a shadow eect . . . . . . . . . . . . . . . . . . . . . . . 144 14.5 The transformation pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 15 Path Tutorial 149 15.1 Bézier example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 15.2 Compound paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 16 Annotating Axes 155 16.1 Annotating with Text with Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 16.2 Annotating with Arrow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 16.3 Placing Artist at the anchored location of the Axes . . . . . . . . . . . . . . . . . . . . . . 162 16.4 Using Complex Coordinate with Annotation . . . . . . . . . . . . . . . . . . . . . . . . . 164 16.5 Using ConnectorPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.6 Zoom eect between Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.7 Define Custom BoxStyle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 17 Our Favorite Recipes 173 17.1 Sharing axis limits and views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.2 Easily creating subplots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.3 Fixing common date annoyances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.4 Fill Between and Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.5 Transparent, fancy legends. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 17.6 Placing text boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18 Screenshots 183 18.1 Simple Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 18.2 Subplot demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.3 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.4 Path demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 18.5 mplot3d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 18.6 Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 18.7 Bar charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.8 Pie charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 18.9 Table demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 18.10 Scatter demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 18.11 Slider demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 18.12 Fill demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 18.13 Date demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 18.14 Financial charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 18.15 Basemap demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 18.16 Log plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 18.17 Polar plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 18.18 Legends. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 18.19 Mathtext_examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.20 Native TeX rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18.21 EEG demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 19 What’s new in matplotlib 205 19.1 new in matplotlib-1.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 19.2 new in matplotlib-1.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 19.3 new in matplotlib-1.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 19.4 new in matplotlib-0.99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 19.5 new in 0.98.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 20 Github stats 241 iii 21 License 255 21.1 License agreement for matplotlib 1.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 22 Credits 257 II The Matplotlib FAQ 261 23 Installation 263 23.1 Report a compilation problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 23.2 matplotlib compiled fine, but nothing shows up when I use it. . . . . . . . . . . . . . . . . 263 23.3 How to completely remove matplotlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 23.4 How to Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 23.5 Linux Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 23.6 OS-X Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 23.7 Windows Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 24 Usage 269 24.1 General Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 24.2 Matplotlib, pylab, and pyplot: how are they related? . . . . . . . . . . . . . . . . . . . . . 270 24.3 Coding Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 24.4 What is a backend?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 24.5 What is interactive mode? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 25 How-To 277 25.1 Plotting: howto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 25.2 Contributing: howto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 25.3 Matplotlib in a web application server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 25.4 Search examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 25.5 Cite Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 26 Troubleshooting 293 26.1 Obtaining matplotlib version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.2 matplotlibinstall location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.3 .matplotlibdirectory location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.4 Getting help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 26.5 Problems with recent git versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 27 Environment Variables 297 27.1 Setting environment variables in Linux and OS-X. . . . . . . . . . . . . . . . . . . . . . . 297 27.2 Setting environment variables in windows. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 III The Matplotlib Developers’ Guide 299 28 Coding guide 301 28.1 Committing changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 28.2 Style guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 28.3 Documentation and docstrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 iv 28.4 Developing a new backend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 28.5 Writing examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.6 Writing a new pyplot function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.7 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.8 Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 29 Working withmatplotlibsource code 311 29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 29.2 Install git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 29.3 Following the latest source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 29.4 Making a patch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 29.5 Git for development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 29.6 git resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 30 Documenting matplotlib 327 30.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 30.2 Organization of matplotlib’s documentation. . . . . . . . . . . . . . . . . . . . . . . . . . 327 30.3 Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 30.4 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 30.5 Referring to mpl documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 30.6 Internal section references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.7 Section names, etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.8 Inheritance diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.9 Emacs helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 31 Doing a matplolib release 337 31.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 31.2 Branching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 31.3 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 31.4 Release candidate testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 31.5 Announcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 32 Working with transformations 339 32.1 matplotlib.transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 33 Adding new scales and projections to matplotlib 361 33.1 Creating a new scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 33.2 Creating a new projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 33.3 API documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 34 Docs outline 373 34.1 Reviewer notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 IV Matplotlib AxesGrid Toolkit 379 35 Overview of AxesGrid toolkit 383 35.1 What is AxesGrid toolkit? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 35.2 AXES_GRID1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 v 35.3 AXISARTIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 36 The Matplotlib AxesGrid Toolkit User’s Guide 405 36.1 AxesDivider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 36.2 AXISARTIST namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 37 The Matplotlib AxesGrid Toolkit API 421 37.1 mpl_toolkits.axes_grid.axes_size. . . . . . . . . . . . . . . . . . . . . . . . . . . 421 37.2 mpl_toolkits.axes_grid.axes_divider. . . . . . . . . . . . . . . . . . . . . . . . . 422 37.3 mpl_toolkits.axes_grid.axes_grid. . . . . . . . . . . . . . . . . . . . . . . . . . . 425 37.4 mpl_toolkits.axes_grid.axis_artist . . . . . . . . . . . . . . . . . . . . . . . . . 426 V mplot3d 431 38 Matplotlib mplot3d toolkit 433 38.1 mplot3d tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 38.2 mplot3d API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 38.3 mplot3d FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 VI Toolkits 477 39 Basemap 481 40 GTK Tools 483 41 Excel Tools 485 42 Natgrid 487 43 mplot3d 489 44 AxesGrid 491 VII The Matplotlib API 493 45 Plotting commands summary 495 46 API Changes 503 46.1 Changes in 1.2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 46.2 Changes in 1.1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 46.3 Changes beyond 0.99.x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 46.4 Changes in 0.99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 46.5 Changes for 0.98.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 46.6 Changes for 0.98.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 46.7 Changes for 0.98.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 46.8 Changes for 0.91.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 46.9 Changes for 0.91.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 vi 46.10 Changes for 0.91.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 46.11 Changes for 0.90.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 46.12 Changes for 0.90.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 46.13 Changes for 0.87.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 46.14 Changes for 0.86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 46.15 Changes for 0.85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 46.16 Changes for 0.84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 46.17 Changes for 0.83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 46.18 Changes for 0.82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 46.19 Changes for 0.81 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 46.20 Changes for 0.80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.21 Changes for 0.73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.22 Changes for 0.72 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.23 Changes for 0.71 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 46.24 Changes for 0.70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 46.25 Changes for 0.65.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.26 Changes for 0.65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.27 Changes for 0.63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.28 Changes for 0.61 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.29 Changes for 0.60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.30 Changes for 0.54.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.31 Changes for 0.54 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 46.32 Changes for 0.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 46.33 Changes for 0.42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 46.34 Changes for 0.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 47 configuration 535 47.1 matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 48 afm (Adobe Font Metrics interface) 539 48.1 matplotlib.afm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 49 animation 543 49.1 matplotlib.animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 50 artists 549 50.1 matplotlib.artist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 50.2 matplotlib.lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 50.3 matplotlib.patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 50.4 matplotlib.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 51 axes 617 51.1 matplotlib.axes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 52 axis 789 52.1 matplotlib.axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 53 backends 799 53.1 matplotlib.backend_bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 vii 53.2 matplotlib.backends.backend_gtkagg . . . . . . . . . . . . . . . . . . . . . . . . . 817 53.3 matplotlib.backends.backend_qt4agg . . . . . . . . . . . . . . . . . . . . . . . . . 818 53.4 matplotlib.backends.backend_wxagg . . . . . . . . . . . . . . . . . . . . . . . . . . 818 53.5 matplotlib.backends.backend_pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 53.6 matplotlib.dviread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 53.7 matplotlib.type1font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 54 cbook 827 54.1 matplotlib.cbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 55 cm (colormap) 837 55.1 matplotlib.cm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 56 collections 841 56.1 matplotlib.collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 57 colorbar 855 57.1 matplotlib.colorbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 58 colors 859 58.1 matplotlib.colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 59 dates 867 59.1 matplotlib.dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 60 figure 875 60.1 matplotlib.figure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 61 font_manager 895 61.1 matplotlib.font_manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 61.2 matplotlib.fontconfig_pattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 62 gridspec 903 62.1 matplotlib.gridspec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 63 legend 907 63.1 matplotlib.legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 64 mathtext 911 64.1 matplotlib.mathtext. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 65 mlab 927 65.1 matplotlib.mlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 66 nxutils 951 66.1 matplotlib.nxutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951 67 path 953 67.1 matplotlib.path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 viii 68 pyplot 959 68.1 matplotlib.pyplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 69 sankey 1137 69.1 matplotlib.sankey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 70 spines 1145 70.1 matplotlib.spines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 71 ticker 1149 71.1 matplotlib.ticker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 72 tight_layout 1157 72.1 matplotlib.tight_layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 73 units 1159 73.1 matplotlib.units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159 74 widgets 1161 74.1 matplotlib.widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 VIII Glossary 1171 Python Module Index 1175 Index 1177
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值