在python中使用matplotlib.tickerFuncFormatter()函数绘制自定义坐标轴刻度标签格式
发布时间:2023-12-18 20:29:15
在Python中使用matplotlib库的ticker.FuncFormatter()函数可以绘制自定义的坐标轴刻度标签格式。该函数可以接受一个自定义的函数作为参数,用于格式化坐标轴刻度标签。下面是一个使用例子,展示如何使用该函数自定义坐标轴刻度标签格式。
首先,我们需要导入matplotlib库和numpy库。
import matplotlib.pyplot as plt import numpy as np
然后,定义一个自定义的格式化函数,该函数将接受两个参数:刻度值和刻度位置。例如,我们可以定义一个将刻度值添加百分号并取两位小数的函数。
def percentage_formatter(x, pos):
return '{:.2f}%'.format(x)
接下来,创建一个示例图表,并设置x轴和y轴的范围。
fig, ax = plt.subplots(figsize=(8, 6)) x = np.arange(0, 10, 0.1) y = np.sin(x) ax.plot(x, y) ax.set_xlim(0, 10) ax.set_ylim(-1, 1)
然后,创建一个FuncFormatter对象,并将自定义的格式化函数传递给它。
formatter = plt.ticker.FuncFormatter(percentage_formatter)
将自定义的格式化函数应用于x轴和y轴的刻度标签。
ax.xaxis.set_major_formatter(formatter) ax.yaxis.set_major_formatter(formatter)
最后,展示图表。
plt.show()
完整的代码如下:
import matplotlib.pyplot as plt
import numpy as np
def percentage_formatter(x, pos):
return '{:.2f}%'.format(x)
fig, ax = plt.subplots(figsize=(8, 6))
x = np.arange(0, 10, 0.1)
y = np.sin(x)
ax.plot(x, y)
ax.set_xlim(0, 10)
ax.set_ylim(-1, 1)
formatter = plt.ticker.FuncFormatter(percentage_formatter)
ax.xaxis.set_major_formatter(formatter)
ax.yaxis.set_major_formatter(formatter)
plt.show()
运行以上代码,将会得到一个带有自定义格式化坐标轴刻度标签的图表,刻度标签将以百分比形式表示,保留两位小数。
