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 に答える