python画图X轴太密集了,为什么加了代码也没用

img


X轴太过密集
加了一句
import matplotlib.ticker as ticker
ax.xaxis.set_major_locator(ticker.MultipleLocator(base=30))
也没有用,base值调多少都没变化
怎么解决鸭
科室名称是K01-K101

结合ax.set_xlim(5, 15)试试

题主的问题,大概是因为科室名字太长,即使MultipleLocator有效,也无法看到效果吧。建议设置x轴的刻度文本样式,像下图这样旋转一下,就应该可以看清楚了。

# -*- encoding: utf-8 -*-

"""
5.3.6 刻度——设置刻度文本样式
"""

import numpy as np
from matplotlib import pyplot as plt
import matplotlib.dates as mdates

x = np.arange('2019-01', '2020-01', dtype='datetime64[D]')
y = np.random.rand(x.shape[0])

fig = plt.figure()
ax = fig.add_axes([0.1, 0.3, 0.8, 0.6])
ax.plot(x, y, c='g')
ax.xaxis.set_major_locator(mdates.MonthLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))

for lobj in ax.get_xticklabels():
    lobj.set_rotation(35)
    lobj.set_size(12)
    lobj.set_color('blue')

plt.show()

img