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

本文介绍如何使用Python的matplotlib库将图表坐标轴上的数值转换为百分比形式,通过一个简单示例展示了如何利用FuncFormatter函数实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、当我们用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()

图形显示如下:


现在我们将横纵坐标变成百分比形式即,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的代码,执行结果如下:


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

重要代码

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

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



参考文献

1. http://sofasofa.io/forum_main_post.php?postid=1000816

2. http://www.zeuux.com/group/scipython/bbs/content/53419/

3. https://blog.youkuaiyun.com/pipisorry/article/details/37742423


Pythonmatplotlib是一个用于数据可视化的库,用于创建各种类型的图表和绘图。使用matplotlib库,可以通过设置横纵坐标轴数值百分比(%)显示来自定义图表的样式。为了在图表中显示中文字符,可以使用以下代码: ``` import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号 ``` 接下来,可以使用numpy生成一些示例数据,并使用matplotlib绘制图表。例如,以下代码生成了一个函数曲线图: ``` import numpy as np import matplotlib.pyplot as plt x = np.linspace(-np.pi/2, np.pi/2, 500) y = (0.64*np.sqrt(abs(x))-0.8*1.2**abs(x)*np.cos(200*x))*np.sqrt(np.cos(x)) plt.figure(figsize=(10,10),dpi=50) plt.plot(x,y,color='r') plt.grid() plt.show() ``` 以上代码将在一个大小为10x10,分辨率为50的画布上绘制出函数曲线图,并显示在屏幕上。 另外,matplotlib还提供了许多其他功能,比如绘制柱状图、散点图、饼图等等。下面是一个简单的例子,展示如何绘制一个基本的折线图: ``` import matplotlib.pyplot as plt plt.figure() # 创建画布 x = range(6) y = range(4,10) plt.plot(x,y) # 绘制图像 plt.show() # 显示图像 ``` 这段代码将创建一个画布,并在其中绘制了一个折线图,然后将图像显示在屏幕上。 总结:Pythonmatplotlib库提供了丰富的功能,可以用于创建各种类型的图表和绘图。从简单的折线图到复杂的曲线图,都可以使用matplotlib来实现。通过设置横纵坐标轴数值百分比(%)显示,以及其他自定义的样式设置,可以让图表更加具有可读性和美观性。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值