LoginSignup
2
4

More than 3 years have passed since last update.

python の描画パッケージ pygalの紹介

Last updated at Posted at 2020-02-23

概要

python の描画パッケージ pygalの紹介になります。
あくまで紹介なので細かい文法等にはこの記事では触れない予定です。

pygalの紹介

install方法は以下のようにpip installで可能です。

pip install pygal

まずこんな感じに記載すると棒グラフを記載することができます。
(なんとなくkerasに書き方が似ていますね)

import pygal                                                       # pygalをimport
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')                          # 作成したグラフをsvgファイルとして保存する

実行するとカレントディレクトリにbar_chart.svgができるのでこれをブラウザで開くとこんな図が表示されます。

スクリーンショット 2020-02-23 19.16.07.png

plotlyなどのようにインタラクティブな図が描画されます。

もしくは、lxmlパッケージをインストールして、
bar_chart.render_to_file('hoge.svg')bar_chart.render()に部分をbar_chart.render_in_browser()に書き換えるとrenderから
browserでの確認を早く行うことができます。

もしくはnotebookでの分析をメインに行っている方には以下のように記載することでnotebookにグラフを埋め込むこともできます。

from IPython.display import display, HTML

base_html = """
<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
  <script type="text/javascript" src="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js""></script>
  </head>
  <body>
    <figure>
      {rendered_chart}
    </figure>
  </body>
</html>
"""
display(HTML(base_html.format(rendered_chart=bar_chart.render(is_unicode=True)))) 

pygalはSVGを作成します。SVGは任意のエディターで編集して、非常に高品質の解像度で表示できます。SVGは、FlaskやDjangoとも簡単に統合できます。

棒グラフの他にも以下のようないろいろなグラフを描くことができます。(グラフはドキュメントから拝借しました)
普段分析でよく使うようなグラフから、地図への描画まで対応しています。

スクリーンショット 2020-02-23 19.38.37.png

スクリーンショット 2020-02-23 19.38.46.png

スクリーンショット 2020-02-23 19.38.57.png

スクリーンショット 2020-02-23 19.39.10.png

スクリーンショット 2020-02-23 19.39.26.png

スクリーンショット 2020-02-23 19.39.38.png

スクリーンショット 2020-02-23 19.39.54.png

スクリーンショット 2020-02-23 19.40.09.png

スクリーンショット 2020-02-23 19.40.45.png

ぜひ使ってみてください~

参考

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4