FixedFormatter_shoul_only_be_used_together_with_FixedLocator: 如何在matplotlib中处理这个警告?

FixedFormatter_shoul_only_be_used_together_with_FixedLocator: How to deal with this warning in matplotlib?

我有一个简单的条形图,上面有一个折线图。

import numpy as np
import matplotlib.pyplot as plt

x = np.array(["one", "two", "three", "four"])
a = np.array([1, 2, 3, 4])
b = np.array([2, 4, 3, 1])

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.bar(x, a, color="g")
ax2.plot(x, b, color="r")

# Problem is here.
ax1.set_xticklabels(x, rotation="vertical", size=12)

plt.show()

当我 运行 它时,它工作正常。但我收到此警告:

"""
<ipython-input-65-9b40369b760b>:15: UserWarning: FixedFormatter should only be used together with 
FixedLocator
  ax1.set_xticklabels(x, rotation="vertical", size=12)
"""

我只需要知道如何避免这个警告。

这似乎是最新版本的错误。您可以阅读更多相关信息 here

他们的解决方案似乎是在设置标签之前设置 xticks,因此对于您来说,我们只是在您的标签之前添加:

ax1.set_xticks(x)
ax1.set_xticklabels(x, rotation="vertical", size=12)

至少我这边的警告去掉了。