2

matplotlib を使用して、django でサーバー生成の円グラフを作成しようとしています。私の例のビューメソッドは次のようになります:

def test_plot(response):
    from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
    from matplotlib.figure import Figure

    num_signed_off = random.randint(0, 10)
    num_reviewed = random.randint(0, 50)
    num_unreviewed = random.randint(0, 50)

    fig = Figure()
    ax = fig.add_subplot(111, aspect='equal')
    ax.pie([num_signed_off, num_reviewed, num_unreviewed],
            labels=['Signed Off', 'Reviewed', 'Unreviewed'],
            colors=['b', 'r', 'g'],
            )
    ax.set_title('My Overall Stats')
    canvas=FigureCanvas(fig)
    response=HttpResponse(content_type="image/png")
    canvas.print_png(response)
    return response

円グラフの背景が醜い泥だらけの灰色であることを除いて、すべてがうまくいきます。透明にするか、背景を白にすることで、埋め込まれているページの残りの部分と一致させたいです。背景色または透明度を設定する ax.pie のオプションを見つけることができず、いずれかで「axis_bg_color」を設定しようとするかfig.add_subplotax.set_axis_bgcolor出力に影響を与えませんでした。この背景色を修正する方法はありますか?

4

2 に答える 2

4

facecolorFigure にパラメーターを追加するだけです。

fig = Figure(facecolor='white')
于 2013-08-14T19:45:38.000 に答える
0

この回答axis_bgは、質問にあるようにではなく、設定する必要があることを示唆してaxis_bg_colorいます。

于 2013-08-14T19:45:23.510 に答える