使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示


Posted in Python onMay 16, 2020

一、当我们用Python matplot时作图时,一些数据需要以百分比显示,以更方便地对比模型的性能提升百分比。

二、借助matplotlib.ticker.FuncFormatter(),将坐标轴格式化。

例子:

# encoding=utf-8
import matplotlib.pyplot as plt 
from matplotlib.ticker import FuncFormatter
plt.rcParams['font.family'] = ['Times New Roman']
plt.rcParams.update({'font.size': 8}) 
x = range(11)
y = range(11)
plt.plot(x, y)
plt.show()

图形显示如下:

使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示

现在我们将横纵坐标变成百分比形式即,0%,20%,40%....代码如下:

# encoding=utf-8
import matplotlib.pyplot as plt 
from matplotlib.ticker import FuncFormatter
plt.rcParams['font.family'] = ['Times New Roman']
plt.rcParams.update({'font.size': 8}) 
x = range(11)
y = range(11)
plt.plot(x, y)
 
def to_percent(temp, position):
  return '%1.0f'%(10*temp) + '%'
plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))
plt.gca().xaxis.set_major_formatter(FuncFormatter(to_percent))
 
plt.show()

即增加了10~13的代码,执行结果如下:

使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示

可见已经实现我们的需求。

重要代码

return '%1.0f'%(10*temp) + '%' #这句话指定了显示的格式。

更多格式化显示,可以查看matplotlib.ticker。

补充知识:matplotlib画图系列之设置坐标轴(精度、范围,标签,中文字符显示)

在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等

在matplotlib中包含了很多函数,用来对这些参数进行设置。

plt.xlim、plt.ylim 设置横纵坐标轴范围
plt.xlabel、plt.ylabel 设置坐标轴名称
plt.xticks、plt.yticks设置坐标轴刻度

以上plt表示matplotlib.pyplot

例子

#导入包
import matplotlib.pyplot as plt
import numpy as np
#支持中文显示
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
 
#创建数据
x = np.linspace(-5, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)
 
#创建figure窗口
plt.figure(num=3, figsize=(8, 5))
#画曲线1
plt.plot(x, y1)
#画曲线2
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='--')
#设置坐标轴范围
plt.xlim((-5, 5))
plt.ylim((-2, 2))
#设置坐标轴名称
plt.xlabel('xxxxxxxxxxx')
plt.ylabel('yyyyyyyyyyy')
#设置坐标轴刻度
my_x_ticks = np.arange(-5, 5, 0.5)
my_y_ticks = np.arange(-2, 2, 0.3)
plt.xticks(my_x_ticks)
plt.yticks(my_y_ticks)
 
#显示出所有设置
plt.show()

结果

使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示

以上这篇使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3+PyQt5实现文档打印功能
Apr 24 Python
Python Pillow Image Invert
Jan 22 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Python爬虫实现验证码登录代码实例
May 10 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
Django执行源生mysql语句实现过程解析
Nov 12 Python
python实现定时发送邮件到指定邮箱
Dec 23 Python
python SOCKET编程基础入门
Feb 27 Python
Python验证码截取识别代码实例
May 16 #Python
基于plt.title无法显示中文的快速解决
May 16 #Python
基于python生成英文版词云图代码实例
May 16 #Python
解决Python数据可视化中文部分显示方块问题
May 16 #Python
Python使用Excel将数据写入多个sheet
May 16 #Python
python小程序之4名牌手洗牌发牌问题解析
May 15 #Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 #Python
You might like
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
js实现时间日期校验
2020/05/26 Javascript
Python内存读写操作示例
2018/07/18 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
行政人事岗位职责
2014/03/17 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
写给老婆的保证书
2015/02/27 职场文书
2015年中个人总结范文
2015/03/10 职场文书
工程催款通知书
2015/04/17 职场文书
刑事法律意见书
2015/06/04 职场文书
早恋主题班会
2015/08/14 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android
mysql查看表结构的三种方法总结
2022/07/07 MySQL