在Matplotlib中,可以使用Locator
和Formatter
来自定义刻度的位置和标签。以下是一个示例代码,展示了如何在不同刻度上显示重叠的额外刻度和标签。
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建图形和轴
fig, ax = plt.subplots()
# 绘制曲线
ax.plot(x, y)
# 设置主刻度和标签
ax.set_xticks(np.arange(0, 11, 1))
ax.set_xticklabels(np.arange(0, 11, 1))
# 设置额外刻度和标签
extra_ticks = np.arange(0, 11, 0.2)
extra_ticklabels = [f'{x:.1f}' for x in extra_ticks] # 格式化额外刻度标签
ax.set_xticks(extra_ticks, minor=True)
ax.set_xticklabels(extra_ticklabels, minor=True)
# 显示图形
plt.show()
在上述代码中,我们首先生成了一些数据,然后创建了一个图形和轴。我们使用plot
函数绘制了曲线。
接下来,我们使用set_xticks
和set_xticklabels
方法来设置主刻度的位置和标签。在这个例子中,我们设置了主刻度为整数值,并使用arange
函数生成一个范围为0到10的刻度。
然后,我们使用set_xticks
和set_xticklabels
方法的minor=True
参数来设置额外刻度和标签。我们使用arange
函数生成0到10之间以0.2为步长的额外刻度,然后使用列表推导式将其格式化为字符串格式的标签。
最后,我们使用plt.show()
显示图形。
运行上述代码,将会显示一个具有主刻度和额外刻度的曲线图,额外刻度以0.2为间隔,并显示了相应的标签。
上一篇:不同刻度共享坐标轴
下一篇:不同可观察对象订阅的相同响应