20

私はPythonを使用しています(LinuxMintの仮想環境で)、インストールしpygalました。

すべて正常に動作しますが (html へのレンダリング)、 svg または png へのレンダリングは行われません。結果: 黒い背景以外は何もありません。

インストールcssselectして、ここでtinycss言及したようにします。

初めて機能しますが、再試行すると同じ問題が発生しました。

(これが関係しているかどうかはわかりませんが、先週、darktable を使用して写真をエクスポートしたときにこれが発生します)

pygal のウェブサイトの例を使用します。

import pygal                                                       # First import pygal
bar_chart = pygal.Bar()                                            # Then create a bar graph object
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])  # Add some values
bar_chart.render_to_file('bar_chart.svg')                          # Save the svg to a file

編集:

bar_chart.render_to_png('bar_chart.png')

現在働いています。

だがしかし:

bar_chart.render_to_file('bar_chart.svg')
4

4 に答える 4

31

lxml もインストールする必要があります。したがって、仮想環境にいると仮定して、bash/zsh プロンプトで次のコマンドを実行します。

pip install lxml

他の 3 つのライブラリ、つまり cssselect、pycairo、tinycss しかない場合。その後、SVG を適切にレンダリングできますが、PNG レンダリング関数は真っ黒な画像ファイルを生成します (lxml がインストールされていない場合)。

以下の要点は、すべての手順を示しています。

[最初: 必要なライブラリをインストールする]

  • pip install lxml
  • pip install cairosvg
  • pip install tinycss
  • pip install cssselect

[2番目: ファイルを作成する]

"""
pygal_render_png
""""
import pygal

bar_chart = pygal.Bar()
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
bar_chart.render_to_file('bar_chart.svg')
bar_chart.render_to_png(filename='bar_chart.png')

Image Viewer (Ubuntu) または Gimp で黒い svg 画像が表示される場合は、Chrome で画像を開いてみてください。

于 2014-08-18T09:29:46.733 に答える