在matplotlib中绘制数据,没有太多的刻度标签

时间:2018-11-20 16:54:40

标签: matplotlib

我正在使用matplotlib绘制数据:Y轴上有两个列表dtIndtOut,而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()

graphical output

0 个答案:

没有答案