UserWarning: FixedFormatter should only be used together with FixedLocator ax.set_xticklabels([''] + classes, rotation=90)
时间: 2024-04-11 21:26:35 浏览: 274
1238: UserWarning: findfont: Font family [‘sans-serif’] not found. Falling back to DejaVu Sans.
这个警告通常是因为在设置 x 轴刻度标签时使用了 FixedFormatter,但没有同时设置 FixedLocator。FixedLocator 用于确定刻度的位置,而 FixedFormatter 用于设置刻度的标签。因此,需要使用 FixedLocator 来确定刻度的位置,然后再使用 FixedFormatter 来设置刻度的标签。
下面是一个示例代码,展示如何同时使用 FixedLocator 和 FixedFormatter:
```python
import matplotlib.pyplot as plt
# 假设 classes 是刻度标签列表
classes = ['A', 'B', 'C', 'D', 'E']
# 假设 values 是对应的数据值
values = [10, 20, 30, 40, 50]
fig, ax = plt.subplots()
# 在设置刻度标签之前,先使用 FixedLocator 设置刻度的位置
ax.xaxis.set_major_locator(plt.FixedLocator(range(len(classes))))
# 然后使用 FixedFormatter 设置刻度的标签
ax.set_xticklabels([''] + classes, rotation=90)
# 绘制柱状图
ax.bar(range(len(classes)), values)
plt.show()
```
这样就可以避免警告信息的出现。
阅读全文