1

谁能告诉我要设置的属性来标记 ReportLab 中 LinePlot 上的单位?此外,如果您知道如何设置标题,那最终会非常有帮助。

drawing = Drawing(50,50)
data = [(tuple(zip(matfile['chan'].item([6],matfile['chan'].item()[7].item()[0])))]
lp = LinePlot()
lp.data = data
lp.????? = (str(matfile['chan'].item()[3]), str(matfile['chan'].item()[2]))
drawing.add(lp)
elements.append(drawing)

这实际上是在一个循环中——我加载了一个 .mat 文件并且有大约 50 个通道,我将绘制几乎所有的通道。分别地。但首先我需要处理分配标签(标题文本,与通道相同,然后是轴的单位......) X 轴标签应始终为“秒”,Y 轴标签会有所不同...有时是百分比,有时是压力或温度或速度等。

4

1 回答 1

1

我不知道该怎么做,但我最终使用了框架表并拼凑了一些东西。我没有成功旋转 y 轴标签的文本。

for channel in channels:
    drawing = Drawing(0,0)
    data = [(tuple(zip(matfile[channel].item()[6],matfile[channel].item()[7].item()[0])))]
    lp = LinePlot()
    lp.data = data
    lp.width = 6*inch
    lp.height = 3.25*inch

    stylesheet = getSampleStyleSheet()
    y_label = Paragraph(str(matfile[channel].item()[2]), stylesheet['Normal'])

    drawing.add(lp)
    plot_table = [['',str(channel)],
                  [y_label, drawing],
                  ['',matfile[channel].item()[3]]]

    t_framing_table = Table(plot_table)
    t_framing_table._argH[1] = lp.height + .5*inch
    t_framing_table._argW[1] = lp.width


    elements.append(t_framing_table)
    if  break_page:
        elements.append(PageBreak())
        break_page = False
    else:
        break_page = True
于 2013-10-16T18:39:54.633 回答