PythonサーバーサイドコードからのHighCharts SVGエクスポート
-
04-10-2019 - |
質問
使ってます ReportLab PythonでPDFサーバー側をレンダリングします。
私は外観が本当に好きです ハイチャート グラフ。しかし、いくつかのグラフを含める必要があるPDFサーバー側を構築しています。サーバーサイドグラフ(ReportLab と matplotlib)フォーマット /設計のための選択肢はほとんどありません。
クライアント側のJavaScriptグラフ化ソリューションを実行する方法はありますか(ハイチャート)サーバー側から?
がここにあります 役職 そのリクエストとこれが彼らが言ったことです:あなたはこのJavaツールにURLを与え、それはその内部WebKitブラウザーを起動し、JavaScriptコードを実行し、レンダリングされたページをPDFにダンプします。
これがPythonでどのように達成できるかについてのリソースを探しています。
解決
サーバーでWebブラウザを開きます。
ロードされる事前に作成されたページにWebブラウザを向けます
highcharts
チャートをレンダリングします。ブラウザの出力をつかみます。
それをクライアントに送信します。
これらのステップのどれが混乱しているように思われますか?
これは、使用するよりも大幅に遅くなることに注意してください matplotlib
, 、グラフをレンダリングするためだけに完全なWebブラウザを起動する必要があるためです。リンクしたHighChartsページを簡単に見てみましたが、おそらくMatplotlibでそれを再現できると思います。
他のヒント
同様の要件があり、既存のソリューションを見つけることができなかったので、少し概念実証ソリューションを作成しました ここ.
この実装は、Pythonプロセスに、 highchart-export-server
Nodeモジュールは、チャートをレンダリングするためにPhantomJSインスタンスを生成します。そこにはいくつかのロシアの人形が関係していますが、それは仕事をします。