我正在使用matplotlib绘制数据:Y轴上有两个列表dtIn
和dtOut
,而X轴上是公共列表dtX
。但是对于大量数据点,轴刻度标签开始重叠(参见图片)。我的代码如下。
我想绘制所有数据值,但只显示轴刻度标签的子集。我该怎么做?
class PlotCanvas(FigureCanvas):
def __init__(self, parent=None, width=5, height=4, dpi=100):
fig = Figure(figsize=(width, height), dpi=dpi)
#self.axes = fig.add_subplot(111)
FigureCanvas.__init__(self, fig)
self.setParent(parent)
FigureCanvas.setSizePolicy(self,
QSizePolicy.Expanding,
QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
def plot(self,istemp,dtIn,dtOut,dtX):
ax = self.figure.add_subplot(111)
ax.clear()
self.figure.autolayout = True
ax.plot(dtX,dtIn, 'r-',color='skyblue',label='Trong tủ')
ax.plot(dtX,dtOut, 'r-',color='red',label='Ngoài tủ')
ax.set_xlim(0,len(dtX),auto = True)
ax.legend(loc=1)
for tick in ax.get_xticklabels():
tick.set_rotation(45)
if istemp:
ax.set_title("Nhiệt độ")
else :
ax.set_title("Độ ẩm")
self.draw()