Matplotlib 中文用户指南 8.1 屏幕截图
屏幕截图
原文:Screenshots
译者:飞龙
这里你会找到一些示例图和生成它们的代码。
简单绘图
这里是一个带有文本标签的基本的绘图:
子图示例
多个轴域(例如子图)可使用subplot()
命令创建:
直方图
hist()
命令自动生成直方图,并返回项数或者概率:
路径示例
你可以使用matplotlib.path
模块,在maplotlib
中添加任意路径:
mplot3d
mplot3d 工具包(见 mplot3d 教程和 mplot3d 示例)支持简单的三维图形,包括平台、线框图、散点图和条形图。
感谢 John Porter,Jonathan Taylor,Reinier Heeres 和 Ben Root 开发了 mplot3d 工具包。 此工具包包含于所有标准 matplotlib 安装中。
Streamplot
streamplot()
函数绘制向量场的流线图。 除了简单地绘制流线之外,它还允许将流线的颜色和/或线宽映射到单独的参数,例如向量场的速度或局部密度。
这个特性完善了绘制向量场的quiver()
函数。 感谢 Tom Flanagan 和 Tony You 添加streamplot
函数。
椭圆
为了支持 Phoenix Mars Mission(使用 matplotlib 展示地面跟踪的航天器),Michael Droettboom 在 Charlie Moad 的工作基础上提供了非常精确的椭圆弧的 8-样条近似(见Arc
),它对缩放级别并不敏感。
条形图
使用bar()
命令创建条形图十分容易,其中包括一些定制(如误差条):
创建堆叠条(bar_stacked.py
),蜡烛条(finance_demo.py
)和水平条形图(barh_demo.py
)也很简单。
饼图
pie()
命令允许您轻松创建饼图。 可选功能包括自动标记区域的百分比,从饼图中心向外生成一个或多个楔形以及阴影效果。 仔细查看附加的代码,它用几行代码来生成这个图像。
表格示例
table()
命令向轴域添加文本表格。
散点图示例
scatter()
命令使用(可选的)大小和颜色参数创建散点图。 此示例描绘了 Google 股票价格的变化,标记的尺寸反映了交易量,并且颜色随时间变化。 这里,ALPHA 属性用于制作半透明圆形标记。
滑块示例
Matplotlib 拥有基本的 GUI 小部件,它们独立于您正在使用的图形用户界面,允许您编写 GUI 交叉图形和小部件。 请参阅matplotlib.widgets
和小部件示例。
填充示例
fill()
命令可以绘制填充曲线和多边形:
感谢 Andrew Straw 添加了这个函数。
日期示例
您可以绘制日期数据与主要和次要刻度,以及用于二者的自定义刻度格式化器。
详细信息和用法请参阅matplotlib.ticker
和matplotlib.dates
。
金融图表
您可以通过结合 matplotlib 提供的各种绘图函数,布局命令和标签工具来创建复杂的金融图表。 以下示例模拟 ChartDirector 中的一个财务图:
地图示例
Jeff Whitaker 的 Basemap 附加工具包可以在许多不同的地图投影上绘制数据。 此示例展示了如何在直角投影上绘制轮廓,标记和文本,以 NASA 的“蓝色大理石”卫星图像作为背景。
对数绘图
semilogx()
,semilogy()
和loglog()
函数简化了对数绘图的创建。
极轴绘图
polar()
命令生成极轴绘图。
图例
legend()
命令使用 MATLAB 兼容的图例布局命令自动生成图形图例。
感谢 Charles Twardy 编写了图例命令的输入。
数学公式示例
下面是 matplotlib 内部数学公式引擎现在支持的许多 TeX 表达式的示例。 mathtext
模块使用 freetype2 和 BaKoMa 或 STIX 现代字体提供 TeX 风格的数学表达式。 其他详细信息请参阅matplotlib.mathtext
模块。
Matplotlib 的mathtext
基础结构是一个独立的实现,不需要 TeX 或计算机上安装的任何外部软件包。 请参阅编写数学表达式教程。
TeX 原生渲染
虽然 matplotlib 的内部数学渲染引擎相当强大,但有时你还是需要 TeX。Matplotlib 支持带有 usetex 选项的 TeX 外部字符串渲染。
EEG 示例
您可以将 matplotlib 嵌入到 pygtk,wx,Tk,FLTK 或 Qt 应用程序中。 这是一个名为 pbrain 的 EEG 查看器的屏幕截图。
下轴使用specgram()
绘制其中一个 EEG 通道的频谱图。
有关将 matplotlib 嵌入不同工具包的示例,请参阅:
user_interfaces
示例代码:embedding_in_gtk2.py
user_interfaces
示例代码:embedding_in_wx2.py
user_interfaces
示例代码:mpl_with_glade.py
user_interfaces
示例代码:embedding_in_qt4.py
user_interfaces
示例代码:embedding_in_tk.py
XKCD 风格的手绘图
matplotlib 支持xkcd
风格的绘图。