matplotlib拉长x轴,解决刻度标签重叠问题

matplotlib拉长x轴,解决刻度标签重叠问题

y_pred = output[0:1000,0].detach()
y_true = Y[0:1000,0]
plt.figure()
plt.plot(y_pred,'r')
plt.plot(y_true,'b')
plt.show()

matplotlib拉长x轴,解决刻度标签重叠问题_第1张图片
想要拉长x轴
拉长x轴出现的问题:x轴刻度标签太多导致标签重叠
matplotlib拉长x轴,解决刻度标签重叠问题_第2张图片
解决方法:减少x轴的刻度

# x = range(1000)
# N = len(x)
N = 1000
fig = plt.figure(figsize=(12,4))    # 设置画布大小
# plt.figure()
plt.plot(y_pred, c='r')
plt.plot(y_true, c='b')
# plt.xticks(range(len(x)), x)  # 这里可以设置rotation参数使刻度标签旋转
# chang x internal size
plt.gca().margins(x=0)
plt.gcf().canvas.draw()
t1 = plt.gca().get_xticklabels()
# maxsize = max([t.get_window_extent().width for t in tl])
# 调节maxsize大小可以改变x轴放缩比例
maxsize = 1
m = 0.2  # inch margin
s = maxsize / plt.gcf().dpi * N + 2 * m
margin = m / plt.gcf().get_size_inches()[0]
plt.gcf().subplots_adjust(left=margin, right = 1. - margin)
plt.gcf().set_size_inches(s, plt.gcf().get_size_inches()[1])

plt.xticks(np.linspace(0, 1000, 5))  # 设置刻度间距:表示0到1000之间分成5份
plt.show()

matplotlib拉长x轴,解决刻度标签重叠问题_第3张图片

你可能感兴趣的:(StudyPython,jupyter,python,机器学习)