《Python数据可视化编程实战》——1.9 为项目设置matplotlib参数

简介:

本节书摘来自异步社区《Python数据可视化编程实战》一书中的第1章,第1.9节,作者[爱尔兰]Igor Milovanović ,颛青山 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.9 为项目设置matplotlib参数

本节介绍matplotlib使用的各种配置文件的位置,以及使用这些配置文件的意义。同时还将介绍配置文件中的具体配置项。

1.9.1 准备工作

如果不想在每次使用matplotlib时都在代码开始部分进行配置(像前一节我们做的那样),就需要为不同的项目设定不同的默认配置项。本节将介绍如何做到这一点。这种配置方式使得配置项与代码分离,从而使代码更加整洁。此外,你可以很容易在同事间甚至项目间分享配置模板。

1.9.2 配置方法

假设一个项目对于matplotlib的特性参数总会设置相同的值,就没有必要在每次编写新的绘图代码时都进行相同的配置。取而代之的,应该是在代码之外,使用一个永久的文件设定matplotlib参数默认值。

通过matplotlibrc``来配置文件,matplotlib提供了对这种配置方式的支持。在matplotlibrc文件中包含了绝大部分可以变更的属性。

1.9.3 配置过程说明

配置文件可能存在于三个不同的位置,而它们的位置决定了它们的应用范围。这三个位置分别说明如下。

  • 当前工作目录:即代码运行的目录。在当前目录下,可以为目录所包含的当前项目代码定制matplotlib配置项。配置文件的文件名是matplotlibrc。
  • 用户级.matplotlib/matplotlibrc文件(Per user .matplotlib/matplotlibrc):通常是在用户的$HOME目录下(在Windows系统中,也就是Documents and Settings目录)。可以用matplotlib.get_configdir()命令来找到当前用户的配置文件目录。请参考随后的命令示例。
  • 安装*级配置文件(Per installation configuration file):*通常在python的site-packages目录下。这是系统级配置,不过在每次重新安装matplotlib后,配置文件会被覆盖。因此如果希望保持持久有效的配置,最好选择在用户级配置文件中进行设置。对于笔者来说,目前对本配置文件的最佳应用方式,是将其作为默认配置模板。如果在用户级配置文件已经比较混乱,或者需要为新项目做全新配置时,可以基于该配置文件进行设置。

在shell中运行下面的命令,即可打印出配置文件目录的位置:

$ python -c 'import matplotlib as mpl; print mpl.get_configdir()'

配置文件包括以下配置项。

  • axes:设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示。
  • backend:设置目标输出TkAgg和GTKAgg。
  • figure:控制dpi、边界颜色、图形大小和子区(subplot)设置。
  • font:字体集(font family)、字体大小和样式设置。
  • grid:设置网格颜色和线型。
  • legend:设置图例和其中文本的显示。
  • line:设置线条(颜色、线型、宽度等)和标记。
  • patch:是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
  • savefig:可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
  • text:设置字体颜色、文本解析(纯文本或latex标记)等。
  • verbose:设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
  • xticks和yticks:为x、y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。

1.9.4 补充说明

如果你想了解前面提到的(和我们没有提到的)每个设置的详细信息,最好的方式是访问matplotlib项目的网站,那里提供了最新的API文档。如果需要获得进一步帮助,可以在用户和开发邮件组留言。本书最后还提供了一些有用的在线资源。

相关文章
|
3月前
|
异构计算 Python
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
361 1
|
3月前
|
API 语音技术 开发者
Python 项目打包,并上传到 PyPI,分享项目
本文介绍了如何使用 Poetry 打包并发布一个 Python 项目至 PyPI。内容包括:项目创建、配置 `pyproject.toml` 文件、构建软件包、上传至 PyPI、安装与使用。通过实例 iGTTS 展示了从开发到发布的完整流程,帮助开发者快速分享自己的 Python 工具。
|
3月前
|
人工智能 Shell Python
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
ERROR: pip’s dependency resolver does not currently take into 报错-Python项目依赖冲突的解决方案-优雅草优雅草卓伊凡
245 0
|
3月前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
5月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
6月前
|
监控 大数据 API
Python 技术员实践指南:从项目落地到技术优化
本内容涵盖Python开发的实战项目、技术攻关与工程化实践,包括自动化脚本(日志分析系统)和Web后端(轻量化API服务)两大项目类型。通过使用正则表达式、Flask框架等技术,解决日志分析效率低与API服务性能优化等问题。同时深入探讨内存泄漏排查、CPU瓶颈优化,并提供团队协作规范与代码审查流程。延伸至AI、大数据及DevOps领域,如商品推荐系统、PySpark数据处理和Airflow任务编排,助力开发者全面提升从编码到架构的能力,积累高并发与大数据场景下的实战经验。
Python 技术员实践指南:从项目落地到技术优化
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
315 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
343 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
273 103

推荐镜像

更多