MEP12: 改进图库和示例#
状态#
进展
在1.3版本中添加了初始更改。图库的转换正在进行中。2015年9月29日 - 最后一个导入 pylab 的 pylab_examples 已转换为使用 matplotlib.pyplot 和 numpy。
分支和拉取请求#
#1623, #1924, #2181
PR #2474 展示了一个示例被清理并移动到适当的部分。
摘要#
重新组织 matplotlib 绘图画廊将大大简化画廊的导航。此外,示例应进行清理和简化以提高清晰度。
详细描述#
matplotlib 画廊最近被设置为将示例分成多个部分。如该 PR [1] 中所讨论的,当前的示例部分(api、pylab_examples)对用户来说并不是非常有用:画廊中的新部分将有助于用户找到相关的示例。
这些部分还将指导示例的清理:最初,所有当前示例将保持不变,并列在其当前目录下。随着时间的推移,这些示例可以被清理并移动到新部分之一。
此过程允许用户轻松识别需要清理的示例;即 api 和 pylab_examples 目录中的任何内容。
实现#
创建新的图库部分。 [完成]
清理示例并将它们移动到新的图库部分(在许多PR的过程中,并在许多用户/开发者的帮助下)。[进行中]
画廊部分#
章节的命名至关重要,并将指导清理工作。当前的章节有:
线条、条形图和标记(或多或少的一维数据)
形状和集合
统计图表
图像、轮廓和场
饼图和极坐标图:圆形事物
颜色
文本、标签和注释
刻度和脊线
子图、坐标轴和图形
特殊图表(例如,桑基图、雷达图、龙卷风图)
展示(经过调整以达到出版质量的图表)
工具箱的独立章节(已存在:'mplot3d', 'axes_grid', 'units', 'widgets')
这些名称当然可以讨论。随着这些部分的扩展,我们应该重新评估它们并在必要时进行拆分。
清理指南#
画廊中 api 和 pylab_examples 部分的当前示例将保留在这些目录中,直到它们被清理。清理后,它们将被移动到上述新的画廊部分之一。"清理"应包括:
sphinx-gallery 文档字符串: 示例的标题和描述格式如下,位于示例的顶部:
""" =============================== Colormaps alter your perception =============================== Here I plot the function .. math:: f(x, y) = \sin(x) + \cos(y) with different colormaps. Look at how colormaps alter your perception! """
注释掉的代码应该被删除。
移除 shebang 行,例如:
#!/usr/bin/env python使用一致的导入。特别是:
import numpy as np import matplotlib.pyplot as plt
避免从这些模块中导入特定函数(例如
from numpy import sin)每个示例应专注于一个特定的功能(不包括
showcase示例,这些示例将展示更多“精炼”的图表)。与此功能无关的调整应被移除。参见 f7b2217, e57b5fc, 和 1458aa8。
pylab 的使用应在专门的帮助页面上进行演示/讨论,而不是在图库示例中。
注意: 当移动一个现有的示例时,你应该搜索对该示例的引用。例如,axes.py 和 pyplot.py 的API文档可能会使用这些示例来生成图表。使用你喜欢的搜索工具(例如,grep, ack, grin, pss)来搜索matplotlib包。参见 2dc9a46 和 aa6b410。
额外建议#
向后兼容性#
每个 Matplotlib 版本的网站都很容易访问,因此想要参考旧示例的用户仍然可以这样做。