matplotlib限制大y绘图集的y标记数

2024-10-05 13:15:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有几个正弦曲线的列表。正弦曲线基本上是y值的列表。因此,循环遍历每条正弦曲线并绘制其y值。每个正弦曲线都有自己的y值,从-1到1,但都共享相同的x值(时间)

正弦曲线可以具有>;10000毫秒内绘制10000个绘图。值介于-1和1之间

我希望绘制所有绘图并使其可见,但我只希望在左侧显示三个y标记/标签:-1、0和1

ylim/set_yticks似乎不起作用并产生奇怪的结果:

def plot(self, listOfCols):
    self.figure.clear()
    x=listOfCols[0][1:]
    xi=[i for i in range(0, len(x))]
    plt.xlabel(listOfCols[0][0])
    for i, val in enumerate(listOfCols[1:]):
        y=val[1:]
        ay=self.figure.add_subplot(111)
        plt.ylim(-1,1)
        ay.plot(xi, y, '-')
    self.canvas.draw()

Kind of random values are picked from matplotlib

没有ylim和其他东西:

To many y marks

plt.yticks([-1,0,1])

我得到这个结果:

    def plot(self, listOfCols):
    self.figure.clear()
    x=listOfCols[0][1:]
    xi=[i for i in range(0, len(x))]
    plt.xlabel(listOfCols[0][0])
    for i, val in enumerate(listOfCols[1:]):
        y=val[1:]
        ay=self.figure.add_subplot(111)
        plt.yticks([-1,0,1])
        ay.plot(xi, y, '-')
    self.canvas.draw()

enter image description here

matplotlib在y轴上创建了从1到-1的两个范围。但我不知道为什么。输入数据绝对正确

Multiple ranges


Tags: inself列表forplot绘制pltval

热门问题