使用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 相关文章推荐
python编程-将Python程序转化为可执行程序[整理]
Apr 09 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
在Python的Django框架下使用django-tagging的教程
May 30 Python
python2 与python3的print区别小结
Jan 16 Python
Python简单实现控制电脑的方法
Jan 22 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
transform python环境快速配置方法
Sep 27 Python
Python拼接字符串的7种方法总结
Nov 01 Python
解析Python的缩进规则的使用
Jan 16 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
pandas数据拼接的实现示例
Apr 16 Python
Python新手如何进行闭包时绑定变量操作
May 29 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读取xml方法介绍
2013/01/12 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Python的垃圾回收机制深入分析
2014/07/16 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
2014年五一促销活动方案
2014/03/09 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
讲文明倡议书
2015/04/29 职场文书
党支部培养考察意见
2015/06/02 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server