首页  >  文章  >  后端开发  >  Python可视化学习:Matplotlib的配置详细介绍

Python可视化学习:Matplotlib的配置详细介绍

高洛峰
高洛峰原创
2017-03-26 16:29:522390浏览

Matplotlib是一个优秀的可视化库,它提供了丰富的接口,让Python的可视化落地显得非常容易上手。本系列是本人学习python可视化的学习笔记,主要用于监督自己的学习进度,同时也希望和相关的博友们进行交流。
由于本人是一名在职的数据分析师而并非开发人员,学习Python可视化主要是为了解决日常工作过程中遇到的数据自动可视化的问题。因此,学习计划打算是从基础入手(高手勿喷),使用的书籍为《python可视编程实践》这本书。整个学习计划是先按照这本书过一遍基础,然后根据实际使用过程中遇到的问题再去查手册或搜索专门的解决方案。

作为本系列的第一章,我重点记录了matplotlib的有关配置方式和内容。

1. Matplolib 默认参数的配置

  • Matplotlib的很多参数都是通过.rc文件来进行配置的,且已经为大部分的属性配置了默认的数值。自己可以根据需求对各种默认属性进行必要的调整。

  • 在代码执行的过程中,可以通过两种方式来更改运行的参数。

    • 使用字典(rcParams)进行参数的配置:在代码的运行过程中调用rcParams(一个字典)对字典中的对应参数进行调整。

    • 调用matplotlib.rc() 函数:通过向matplotlib.rc()传入属性元组来修改配置项。

    • 如果需要配置动态修改后的配置参数,可以调用matplotlib.rcdefaults()将配置重置为标准配置。
      以下两段代码实现的效果一样,但采用的方式有所差异:

      # 采用的matplotlib.rcParams的例子:import matplotlib as mpl
      mpl.rcParams['lines.width']=2 #将线宽设置为2mpl.rcParams['lines.color']='r' #将线的颜色设置为红色 red#使用matplotlib.rc() 的例子mpl.rc('lines',linewidth=2,color='r')

2. 为项目配置matplotlib参数

使用配置参数的方式,是让你能够在不同的项目中使用不同的参数配置,不同的同事和项目之间分配配置模板。
matplotlib通过matplotrc文件来进行配置,这个文件根据他们的应用范围可以有一下三个级别:

  1. 当前工作目录:代码运行的目录,可以为目录所包含的当前项目代码定制matplotlib配置项。配置文件的名称是:matplotlibrc

  2. 用户级配置文件:.matplotlib/matplotlibrc文件。 通常是在用户的$HOME中(也就是windows系统中的Documents and Setting\目录)。可以调用matplotlib.get_configdir()命令获取当前用户的配置文件目录。

  3. 安装级配置文件:通常在python的site-packags目录下。不过,每次重新安装matplotlib后,这个文件都会被覆盖,所以如果希望保持持久有效的配置,最好选择在用户级配置文件中进行配置。


    配置文件包括以下的选项(对象):

  • axes: 设置坐标轴边界和颜色、坐标刻度值的大小和网格的显示;

  • backend:设置目标输出TkAgg和GTKAgg。

  • figure:控制dpi、边界颜色、图形大小和子区(subplot)设置。

  • font:字体集(font-family) 、字体的大小和样式设置。

  • grid:设置网格的颜色和线型。

  • legend:设置图例和其中文本的显示方式。

  • line:设置线条(颜色,线型,线宽等)和标记。

  • patch:是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。

  • savefig:可以对保存的图形进行单独设置,例如渲染输出的图片的颜色背景色为白色。

  • text:设置字体的颜色、文本解析等。

  • verbose:设置matplotlib在执行期间的信息输出,如silent, helpful, debug等。

其实,这些对象在matplotlib中都是单独的对象,都有单独API。在Matplotlib作图的过程中,实际上就是将各种配置好的对象堆积在一起。

以上是Python可视化学习:Matplotlib的配置详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn