如何在ReportLab Lineplot中标记单位?

时间:2013-10-16 14:46:53

标签: python-2.7 reportlab line-plot

有人可以告诉我设置为在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轴标签将有所不同......有时是%,有时是压力,温度或速度等。

1 个答案:

答案 0 :(得分: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