图表样式的美化(1)

一、图表样式概述

matplotlib在绘图的过程中会读取储存在本地的的配置文件matplotlibrc,通过matplotlibrc文件中的缺省配置信息指定图表元素的默认样式,完成图表元素的初始设置,不需要开发人员逐一设置便可使用。
matplotlibrc文件包含众多图表元素的配置项,可以通过rc_params()函数查看全部的配置项,实例代码如下:
 

import matplotlib
matplotlib.rc_params()

由上可知,rc_parmas()函数返回一个RcParmas对象。RcParmas对象是一个字典对象,其中字典的键是由配置要素及其属性组成的配置项,值为配置项的默认值

二、图表样式修改

matplotlib通过灵活的修改配置项来改变图表的样式,而不比拘泥于系统默认的设置,图表的样式可以通过两种方式进行修改,局部修改和全局修改。

1、局部修改

局部修改的方式是指通过代码动态地修改matplotilib配置项,此法用于满足程序局部定制的需求:

(1)通过给函数的关键字参数传值来修改图表的样式。

(2)通过“rcParams【配置项】”重新为配置项赋值来修改图表的样式。

(3)通过给rc()函数的关键字参数传值来修改图表的样式。在此不过多赘述。

2、全局修改

(1)当前工作路径:程序运行的目录

(2)用户配置路径:通常位于HOME/.matplotlib/目录中,可以通过环境变量MATPLOTLIBRC进行修改。

(3)系统配置路径:位于matplotlib安装路径的mpl-data目录中。

二、使用颜色

1、在数据可视化中,颜色通常被用于编码数据的分类或定序属性,图表使用颜色时应遵循一定的基本规则,既要避免使用过多的颜色,又要避免随意使用颜色,否则会直接影响可视化的效果且不易让人理解,合理规则应是:
(1)广泛的色调和亮度范围。
(2)遵循自然的颜色模式;
(3)尽量使用渐变颜色,而不是选择一组静态颜色。

2、使用基础颜色

2、在数据可视化中,颜色通常被用于编码数据的分类或定序属性,图表使用颜色时应遵循一定的基本规则,既要避免使用过多的颜色,又要避免随意使用颜色,否则会直接影响可视化的效果且不易让人理解,合理规则应是:
(1)广泛的色调和亮度范围。
(2)遵循自然的颜色模式;
(3)尽量使用渐变颜色,而不是选择一组静态颜色。

三、示例:正弦余弦表

#导入模块
import numpy as np
import matplotlib.pyplot as plt
 
#准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
labels = ['COS', 'SIN']
 
cos = plt.plot(x, y_cos, color='r', linewidth=1.0, label='cos')
sin = plt.plot(x, y_sin, color='b', linewidth=1.0, alpha=0.5, label='sin')

#为图表添加刻度标题与标签
plt.title('Cos * Sin')

plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
           [r'$-\pi$', r'$-\pi/2$', r'$0$', '$\pi/2$', '$\pi$'])

plt.yticks([-1, -0.5, 0, 0.5, 1], ['-1.0', '-0.5', '0.0', '0.5', '1.0'])
#为图表添加图例、网格与指向性注释文本
plt.legend(loc='upper left', fancybox=True)

plt.grid()

plt.annotate('cos(1)',(1,np.cos(1)),(1.35,np.cos(1)+0.25),arrowprops={'arrowstyle':'->'})
#填充两条水平曲线之间的区域
plt.fill_between(x,y_cos, y_sin, y_cos > y_sin, color='g', alpha=0.25)
 
plt.show()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值