2011-12-29 6 views
2

私はPDFレポートにグラフを作成するためにReportlabを使用しています。私はエリアラインプロットを作成していて、私が見たいと思っていた出力が得られない理由を理解できないところに固執しました。ここでレポートラインを使用したPythonのエリアラインプロット

は、私は私の出力のために書かれたコードは次のとおりです。

def standardLinePlot(data, width=200, height=200): 

    d = Drawing(width, height) 
    lp = AreaLinePlot() 
    lp.data=data 
    lp.width, lp.height = width, height 
    lp.xValueAxis.valueMin = 0 
    lp.xValueAxis.valueMax =36 
    lp.xValueAxis.valueSteps = [0,6,12,18,24,30,36] 

    lp.yValueAxis.valueMin = 0 
    lp.yValueAxis.valueMax =100 

    lp.strokeColor=colors.black 
    lp.fillColor=colors.grey 

    lp.reversePlotOrder = False 

    lp.joinedLines=1 

    d.add(lp) 

    return d 

私は取得しています出力は次のようになります。

Area Line Plot

私の意図した出力は、グレー色の代わりになるべきであるということです線のプロットの下の領域である赤色。もう1つの問題は、このグラフに軸のタイトルを追加する方法です。たとえば、私のX軸に「月」、Y軸に「NAVの%」が必要です。

答えて

1

行の色を定義するには、行にアクセスする必要があるようです。:)だから、lp.strokeColor = colors.greyの代わりにlp.lines[0].strokeColor = colors.grey、それはプロットの背景色のために行く!

ラベルについての質問はちょっと難しいですが... ScatterPlotにはX軸とY軸のラベルを設定する機能がありますが、AreaLinePlotではそうではありません。もちろん、頻繁に使用する場合は、その機能をコピーするクラスをAreaLinePlotから派生させることができます。

+0

ありがとうございます。質問を改訂していただきありがとうございます。 – GulshanM

+0

リカルド:ありがとうございました!線の色とは別に、私はプロットの背景色(線の下の領域を示す色)を変更したいと考えています。色を赤色に変更するように私に何を提案しますか?もう一度私を助けてくれてありがとう。 – GulshanM

+0

@ GulshanM:ポイントは、 'AreaLinePlot'に直接プロパティを設定するとグローバルに変更されます。 'lp.strokeColor = colors.black'は、黒色の矩形の境界線を表示し、軸領域を閉じています。' lp.fillColor = colors.grey'は、プロットを全体の背景色として灰色にしています。行*とその下の領域*の色を変更するには、 'lp.lines'を使って各行にアクセスしなければなりません。行には 'fillColor'はありません。' inFill'プロパティが* that *行に設定されている場合、floodfillの代わりに 'strokeColor'が使われます。 –

0

変更

lp = AreaLinePlot() 

lp = LinePlot() 

へと

lp.lines[0].strokeColor = colors.red 
lp.lines[0].inFill = True 

が、塗りつぶしの色は、線の色と同じになることをしてみてください。

クレジットは@RicardoCárdenes

関連する問題