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