python 设置Pyplot的动态rc参数、绘图的填充
目录
1.全局参数定制
2.rc参数设置
例1.rc参数设置例1
例2.rc参数设置例2
例3.用set_xticks设置刻度
例4.用set_xticklabels改变刻度
3.绘图的填充
3.1调用函数fill_between()实现曲线下面部分的填充
3.2 部分区域填充
3.3 两条曲线之间的区域填充例7 使用fill_between()填充曲线之间的区域
3.4 直接使用fill进行绘图的填充
Matplotlib配置了配色方案和默认设置,主要用来准备用于发布的图片。有两种方式可以设置参数,即全局参数定制和rc设置方法。
查看matplotlib的rc参数:
import matplotlib as plt print(plt.ra_params)
1.全局参数定制
Matplotlib的全局参数可以通过编辑配置文件设置
import matplotlib as plt print(plt.matplotlib_fname) #显示当前用户的配置文件目录
查找到当前用户的配置文件目录,然后用编辑器打开,修改matplotlib文件,即可修改配置参数。
2.rc参数设置
使用Python编程修改rc参数,rc参数及其取值如下表1~3
表1 rc参数名称及其取值
rc参数 解释 取值 lines.linewidth 线条宽度 取0~10的数值,默认1.5 lines.linestyle 线条样式 取“-”“--”“-.”“:”4种,默认为“-” lines.marker 线条上点的形状 可取“o”“D”等20种,默认为None lines,markersize 点的大小 取0~10的数值,默认为1
表2 线条样式lines.linestyle的取值
linestyle取值 意义 linestyle取值 意义 - 实线 -. 点线 -- 长虚线 : 短虚线 表3 lines.marker参数的取值
marker取值 意义 marker取值 意义 'o' 圆圈 '.' 点 'D' 菱形 's' 正方形 'h' 六边形1 '*' 星号 'H' 六边形2 'd' 小菱形 '-' 水平线 'v' 一角朝下的三角形 '8' 八边形 '<' 一角朝左的三角形 'p' 五边形 '>' 一角朝右的三角形 ',' 像素 '^' 一角朝上的三角形 '+' 加号 '|' 竖线 'None' 无 'x'
X
需要注意的是,由于默认的Pyplot字体并不支持中文符的显示,因此需要通过设置font.sans-serif参数改变绘图时的字体,使得图形可以正常显示中文。同时,由于更换字体后,会导致坐标轴中的部分字符无法显示,因此需要同时更改axes.unicode_minus参数。
plt.rcParams['font.family'] = ['SimHei'] #用来显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示符号
如果需要在坐标轴上显示时间,可以利用DateFormatter提供的功能进行设置,常用代码如下:
from matplotlib.dates import DateFormatter plt.gca().xaxis.set_major_formatter(DateFormatter('%y/%m/%d')) #自动旋转X轴的刻度,适应坐标轴 plt.gcf().autofmt_xdate()
除了设置线条的字体的rc参数外,还有设置文本、箱线图、坐标轴、刻度、图例、标记、图片、图像保存等rc参数。
例1.rc参数设置例1
import numpy as np import matplotlib.pyplot as plt fig,ax = plt.subplots() #配置中文显示 plt.rcParams['font.family'] = ['SimHei'] #用来显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示符号 def f(t):return np.cos(2*np.pi*t) x1 = np.arange(0.0,4.0,0.5) x2 = np.arange(0.0,4.0,0.01) plt.figure(1) plt.subplot(2,2,1) plt.plot(x1,f(x1),'bo',x2,f(x2),'k') plt.title('子图1') plt.subplot(2,2,2) plt.plot(x2,f(x2),'r--') plt.title('子图2') plt.show()
OUT:
例2.rc参数设置例2
fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.legend(loc = 'best')
OUT:
可以用set_xticks设置X轴刻度
例3.用set_xticks设置刻度
fig = plt.figure()ax = fig.add_subplot(1,1,1)ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.set_xticks([0,5,10,15,20,25,30,35]) ax.legend(loc = 'best')
OUT:
可以用set_xticklabels改变刻度,设置刻度的旋转角度及字体等。
例4.用set_xticklabels改变刻度
fig = plt.figure()ax = fig.add_subplot(1,1,1)ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o',label = 'one') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = '+',label = 'two') ax.plot(np.random.randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'v',label = 'three') ax.set_xticklabels(['x1','x2','x3','x4','x5'],rotation = 30,fontsize = 'large') ax.legend(loc = 'best')
OUT:
其中,rotation参数表示X坐标标签的旋转角度;fontsize为字号,可以取值为“xx-small”“x-small”“small”“medium”“large”“x-large”“xx-large”“smaller”“None”。
3.绘图的填充
3.1调用函数fill_between()实现曲线下面部分的填充
x = np.linspace(0,1,500) y = np.sin(3*np.pi*x)*np.exp(-4*x) fig,ax = plt.subplots() plt.plot(x,y) plt.fill_between(x,0,y,facecolor = 'green',alpha = 0.3)
其中,参数x表示整个X轴都覆盖;0表示覆盖的下限;y表示覆盖的上限时y这条曲线,facecolor表示覆盖区域的颜色;alpha表示覆盖区域的透明度[0,1],其值越大,表示越不透明
3.2 部分区域填充
plt.fill_between(x[15:300],0,0.4,facecolor = 'green',alpha = 0.3)
3.3 两条曲线之间的区域填充
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,500) y1 = np.sin(3*np.pi*x)*np.exp(-4*x) y2 = y1 + 0.2 plt.plot(x,y1,'b') plt.plot(x,y2,'r') plt.fill_between(x,y1,y2,facecolor = 'green',alpha = 0.3) plt.show()
3.4 直接使用fill进行绘图的填充
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,500) y = np.sin(3*np.pi*x)*np.exp(-4*x) fig,ax = plt.subplots() ax.fill(x,y) plt.show()
python 设置Pyplot的动态rc参数、绘图的填充相关推荐
- Matplotlib【学习大礼包】数据可视化基础 掌获绘图基础语法与常用参数、设置pyplot的动态rc参数、 绘制散点图、折线图、直方图、饼图
文章目录 如何查看完整版!!(代码+图片) 第3章 Matplotlib 数据可视化基础 3.1 掌获绘图基础语法与常用参数 3.1.1 掌获pyplot基础语法 1.创建画布与创建子图 2.添加画布 ...
- 3.Matplotlib数据可视化基础(上)(pyplot、rc参数、散点图、折线图)
笔记说明:本文是我的学习笔记,大部分内容整理自 黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018:52-77. 还有部分片断知识来自网络搜索补充. 可视化这块的内容我 ...
- python可视化直方图的x轴参数设置_Python数据分析matplotlib可视化之绘图
Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...
- Python — matplotlib.pyplot 绘图模块及常用函数
目录 1. 基本用法与折线图 pyplot 模块的常用函数 折线图函数: matplotlib.pyplot.plot() 常用 format_string 参数 常用函数 grid () 控制各轴网 ...
- python绘制动态条形图_Python 绘图与可视化 matplotlib 动态条形图 bar
第一种办法 一种方法是每次都重新画,包括清除figure def animate(fi): bars=[] if len(frames)>fi: # axs.text(0.1,0.90,time ...
- python获取摄像头型号_python opencv设置摄像头分辨率以及各个参数的方法_python
下面就为大家分享一篇python opencv设置摄像头分辨率以及各个参数的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1,为了获取视频,你应该创建一个 VideoCapture 对 ...
- Python数据可视化——matplotlib.pyplot中plt的参数详解
matplotlib.pyplot中plt的参数详解: #平滑折线的示例 # plt.plot(xnew, ynew, marker='.', markevery=markevery, ls='-', ...
- python中怎么设置默认值_在Python中设置应该是列表的参数的默认值的最佳实践?...
我有一个将列表作为参数的python函数.如果我将参数的默认值设置为如下空列表: def func(items=[]): print items 皮林特会告诉我"危险的默认值[]作为参数&q ...
- python opencv设置摄像头分辨率以及各个参数的方法
摘自:http://www.cppcns.com/jiaoben/python/224278.html python opencv设置摄像头分辨率以及各个参数的方法 发布时间: 2019-04-21 ...
最新文章
- linux 日志 停止滚动,linux – syslog在日志轮换后停止记录
- Android自定义水波纹动画Layout
- Tesseract——OCR图像识别 入门篇
- Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
- C#学习笔记——MDI窗体(多文档界面)
- 计算机设备安全检查表,信息安全检查表
- html字体代码大全_HTML基础笔记(一)
- C语言单向动态链表程序,实现链表的建立,合并,重新排序,链表元素的插入与删除,以及根据元素成员的值进行元素删除。
- 封装批量获取键值对数据的方法
- 下一代面向知识的 BI 到底有何不同,从 nextionBI 数据解读能力中一探究竟
- 万能五笔输入法支持linux系统,Ubuntu安装万能五笔输入法
- 6、Flink的时间语义和Wartermark
- 第三届光明区创新创业大赛——聚各方力量,助光明璀璨
- python,人工智能,水果识别
- Python基础,day2
- 第四次作业——肖祥英
- Hadoop Ha集群配置
- 习题七-斐波那契数列
- ADB 最新调试工具
- AtCoder Beginner Contest 153 题解