Matplotlib 2.0中的新功能¶
注解
Matplotlib2.0支持python 2.7和3.4+
改进了颜色转换API和RGBA支持¶
这个 colors
获得了一个新的颜色转换API,完全支持alpha通道。主要的公共职能是 is_color_like()
, matplotlib.colors.to_rgba()
, matplotlib.colors.to_rgba_array()
和 to_hex()
. RGBA四元组以十六进制格式编码为“#rrggbbaa”。
另一个好处是qt选项编辑器现在也允许设置艺术家的alpha通道。
新配置(RCPARAM)¶
添加了新的RCPARAM
补充 svg.hashsalt
RCPARAMS的密钥¶
如果 svg.hashsalt
是 None
(默认情况下),SVG后端使用 uuid4
生成哈希盐。如果不是 None
,它必须是用作哈希盐的字符串,而不是 uuid4
. 这允许确定性SVG输出。
移除 svg.image_noscale
RCPARAM¶
由于图像处理的广泛变化, svg.image_noscale
已移除RCPARAM。同样的功能可以通过设置 interpolation='none'
在单个图像上或全局使用 image.interpolation
RCPARAM。
定性颜色图¶
ColorBrewer的“定性”颜色映射(“重音”、“深2”、“成对”、“Pastel1”、“Pastel2”、“Set1”、“Set2”、“Set3”)用于离散的分类数据,没有任何价值含义,因此已转换为 ListedColormap
而不是 LinearSegmentedColormap
因此,颜色将不再被插值,它们可以用于合唱团、标记图像特征等。
轴偏移标签现在响应 labelcolor
¶
轴偏移标签现在的颜色与轴刻度标记相同,当 labelcolor
被改变了。
改进的偏移文本选择¶
默认的偏移文本选择被更改为仅使用所有刻度通用的有效数字(例如1231..1239->1230,而不是1231),除非它们跨越一个10次方的较大倍数,在这种情况下,选择了倍数(例如1999..2001->2000)。
样式参数黑名单¶
为了防止使用样式的意外后果,样式文件将无法再设置影响与样式无关的事物的参数。这些参数包括:
'interactive', 'backend', 'backend.qt4', 'webagg.port',
'webagg.port_retries', 'webagg.open_in_browser', 'backend_fallback',
'toolbar', 'timezone', 'datapath', 'figure.max_open_warning',
'savefig.directory', 'tk.window_focus', 'docstring.hardcopy'
更改默认字体¶
对于sans-serif和serif系列,matplotlib在文本中使用的默认字体已分别更改为dejavu sans和dejavu serif。dejavu字体系列基于以前的matplotlib默认值(bitstream vera),但包含了更广泛的字符范围。
默认的MathText字体已从Computer Modern更改为Dejavu系列,以保持与常规文本的一致性。两个新选项 mathtext.fontset
已添加配置参数: dejavusans
(默认) dejavuserif
. 这两个选项都尽可能使用dejavu glyph,如果在dejavu中找不到glyph,则返回到stix符号。若要返回上一行为,请设置rcparam mathtext.fontset
到 cm
.
更快的文本呈现¶
现在,在agg后端呈现文本的模糊性更低,绘制速度大约快 20% 。
Qt图形选项编辑器的改进¶
Qt图形选项编辑器实现了各种可用性改进,其中:
- 行样式条目现在排序时没有重复项。
- 现在可以为图像设置颜色映射和规范化限制。
- 浮动值的行编辑现在只显示所需的数字,以避免精度损失。在使用qt5和十进制分隔符为“,”的区域设置的输入验证方面,还修复了一个重要的错误。
- 轴选择器现在对轴使用较短、更用户友好的名称,如果没有轴,则不会崩溃。
- 使用默认标签的行和图像条目(“行”、“图像”)现在按数字排序,即使条目超过10个。
改进的图像支持¶
在版本2.0之前,Matplotlib通过首先应用颜色映射,然后调整结果大小对图像重新采样。由于对彩色图像执行了重新采样,因此这在输出图像中引入了颜色,而这些颜色实际上并不存在于颜色映射中。现在,首先对图像重新采样(如果输入图像是浮点图像,则完全是浮点图像),然后应用颜色映射。
为了进行这一重要的更改,图像处理代码几乎被完全重写。作为副作用,图像重采样比以前使用更少的内存和更少的数据类型转换。
通过设置私有成员可以“倾斜”图像的实验私有功能 _image_skew_coordinate
已删除。相反,图像将服从所绘制轴的变换。
图像绘图上的非线性比例¶
imshow
现在,在应用非线性尺度后,在数据空间中的请求点上绘制数据。
左边的图片展示了新的、正确的行为。可以使用 pcolormesh
如右图所示。
(Source code _, png , pdf )

这可以通过类似于用对数x轴的线性间隔箱绘制柱状图来理解。大小相等的垃圾箱将显示为小垃圾箱的宽度。 x 大的要窄一些 x .
支持NBagg和Webagg后端的hidpi(视网膜)显示¶
现在,nbagg和webag后端将使用高像素密度显示器的全分辨率。
更改默认动画编解码器¶
默认动画编解码器已从更改为 mpeg4
到 h264
,效率更高。可以通过设置 animation.codec
RCPARAM。
已弃用对动画中mencoder的支持¶
使用mencoder编写带MPL的视频文件存在问题;强烈建议切换到ffmpeg。所有对mencoder的支持将在版本2.2中删除。
boxplot zorder关键字参数¶
这个 Z阶 参数现在存在于 boxplot
. 这允许在plotting函数调用中设置箱线图的zorder。:
boxplot(np.arange(10), zorder=10)
填满 +
和 x
标记¶
新填充剂 plus 和 x 已添加标记。见 markers
模块和 marker reference 示例。
计数 和 计数 对于 plot_surface
¶
从2.0版开始,mplot3d plot_surface
现在接受 计数 和 计数 用于控制打印输入数据采样的参数。这些参数指定从输入数据中获取的最大等间距样本数。这些参数也是函数的新默认采样方法,并被视为样式更改。
老年人 拉斯特里 和 卡斯特里 参数指定了等间距样本的大小,当调用“经典”模式时,它将成为默认值,并且仍然可以使用。没有计划去贬低这些论点。
streamplot zorder关键字参数更改¶
这个 zorder
参数用于 streamplot
现在默认值为 None
而不是 2
.如果 None
给出作为 zorder
, streamplot
有默认 zorder
属于 matplotlib.lines.Line2D.zorder
.
扩展到 matplotlib.backend_bases.GraphicsContextBase
¶
为了支持跨后端标准化舱口行为,我们将 matplotlib.backend_bases.GraphicsContextBase.get_hatch_color
添加到的方法 matplotlib.backend_bases.GraphicsContextBase
. 这只在我们发货的后端渲染过程中使用,因此不会破坏任何第三方后端。
如果您维护第三方后端,扩展 GraphicsContextBase
此方法现在对您可用,应用于为图案填充着色。