2013-10-16 37 views
1

任何人都可以告訴我要在ReportLab中爲LinePlot上的單位設置標籤的屬性嗎?另外,如果您知道如何設置標題,那最終會非常有幫助。如何在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

我不知道該怎麼做,但我結束了使用框架表,我拼湊在一起something.I沒有成功地旋轉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 
+0

可能是派對遲到了,但是我剛剛發現了這篇文章,它描述瞭如何在表格中旋轉一個字符串。 http://two.pairlist.net/pipermail/reportlab-users/2006-October/005383.html –