Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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

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

参考

mk_GF
音楽ゲームしかしてない 皆伝/虹ネーム
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away