画图时如何让它改坐标(语言-python)

img

用matplotlib绘制曲线时,x坐标会重叠在一起,改了很多次xticks了,vertical,herizonal和数字都试过了,ticks也用不了,不知道怎么才能让字和点不重叠

img

严格说,这个问题不属于程序错误和运行时错误,属于系统功能bug。
这里给出几条调试建议思路:
1)简化、隔离问题。
比如,先只画真实或预测一条曲线(一个系列的数据)。
或者,抛开这个问题,画一个其它方面现成的曲线。
这样可以找出问题:到底是x坐标轴的间隔设置、还是日期格式、还是输入数据错误等问题。
2)合理设置断点,进行调试。
例如:在绘制前,对true_datetest_dates等数据进行核验。
不仅合理的断点设置很重要,还要利用帧、堆栈等进行观察和调试。
3)对于接口数据的调试
有时候,引用模块没有问题、应用程序也没有问题,问题出在接口。
所以,断点设置在模块内部(函数、类的初始化入口等)也是很有必要的。

Alt


本答复由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

调整x轴刻度的位置和间距:可以使用plt.xticks()函数来设置x轴的刻度位置和标签,例如:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]
y = [2, 4, 6, 8, 10, 12]

plt.plot(x, y)

plt.xticks([1, 2, 3, 4, 5, 6], ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], rotation=45)
plt.show()

在这个例子中,我们使用plt.xticks()函数将x轴的刻度位置设置为整数1到6,并将标签设置为'Jan'到'Jun'。rotation参数可以用来旋转标签,以防止它们重叠在一起。

使用次刻度:可以使用plt.minorticks_on()函数打开次刻度功能,使用plt.tick_params()函数来设置次刻度的位置和样式,例如:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]
y = [2, 4, 6, 8, 10, 12]

plt.plot(x, y)

plt.minorticks_on()
plt.tick_params(which='minor', length=4, width=1, color='r')
plt.show()

在这个例子中,我们打开了次刻度功能,并使用plt.tick_params()函数设置了次刻度的样式。这样可以在x轴上显示更多的刻度,以减少标签重叠的问题。