このクールなグラフの利器のpyechartsをマスターして、まだ会社に重用されないことを恐れますか?


一、据え付ける
まず、私たちはpyechartsをインストールしたいです。pipコマンドで直接インストールすればいいです。

pip install pyecharts
インストールが完了したら、pip listコマンドでpythonにインストールされているライブラリのリストを確認することができます。pyechartsのインストールバージョンとインストールが成功したかを確認します。
在这里插入图片描述
二、モジュールの導入
昔からのルールは、物語の順調な発展のために、まずこの本文に必要なモジュールを導入することができます。

from pyecharts.charts import Bar
from pyecharts.charts import Pie
from pyecharts.charts import Line
from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.globals import SymbolType
from pyecharts.charts import Grid
from pyecharts.charts import WordCloud
from pyecharts.charts import Map
import random
注:以下のグラフの生成はすべてJupyter Notebook環境において行われます。
三、ヒストグラム
普段一番多く見られているのはヒストグラムです。pyechartsでヒストグラムを生成するのも簡単です。x軸とy軸のデータをそのまま書き込めばいいです。

x = ['1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 ', '11 ', '12 ']
data_china = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
data_russia = [1.6, 5.4, 9.3, 28.4, 22.7, 60.7, 162.6, 199.2, 56.7, 43.8, 3.0, 4.9]

bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis("   ", data_china)
bar.set_global_opts(title_opts=opts.TitleOpts(title="Bar -     "))
bar.rerender_notebook()
runがプログラムを実行すると、次のようなヒストグラムが得られます。
在这里插入图片描述
もちろん、pyechartsはチェーンコールにも対応しています。実現された機能は一致しています。コードは以下の通りです。

bar = (
    Bar()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar -     "))
)
bar.render_notebook()
また、一つの棒グラフに複数のy軸記録を追加して、複数の柱状コントラストを実現しても良いです。一度だけadd_を呼び出してもいいです。yaxisでいいです。

bar = (
    Bar()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .add_yaxis("sussia", data_russia)
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar -     "))
)
bar.render_notebook()
在这里插入图片描述
時には、ヒストグラムが高すぎて、見にくいです。x軸とy軸を交換して、横のヒストグラムを生成することもできます。多柱図とxy軸の互換が衝突しないので、重ねて使用できます。

bar = (
    Bar()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .add_yaxis('russia', data_russia)
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(position="right"))
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar -    XY  "))
)
bar.render_notebook()
在这里插入图片描述
四、円グラフ
円グラフも使用頻度が高いグラフの一つです。特に百分率のグラフに適用されています。各カテゴリが全体のシェアを占める割合を視覚的に見ることができます。

pie = (
    Pie()
    .add("", [list(z) for z in zip(x, data_china)])
    .set_global_opts(title_opts=opts.TitleOpts(title="    "))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
在这里插入图片描述
円環状図

pie = (
    Pie(init_opts=opts.InitOpts(width="600px", height="400px"))
    .add(
        series_name="   ",
        data_pair=[list(z) for z in zip(x, data_china)],
        radius=["50%", "70%"],
        label_opts=opts.LabelOpts(is_show=False, position="center"),
    )
    .set_global_opts(legend_opts=opts.LegendOpts(pos_left="legft", orient="vertical"))
    .set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
        ),
    label_opts=opts.LabelOpts(formatter="{b}: {c}")
    )
)
pie.render_notebook()
在这里插入图片描述
五、折れ線図
折れ線図は通常、時間帯におけるデータの動きを示すもので、例えば古典的な株式市場のK線図は折れ線図の一種である。

line = (
    Line()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .set_global_opts(title_opts=opts.TitleOpts(title="     "))
)
line.render_notebook()
在这里插入图片描述
同様に、棒グラフと同様に、折れ線図に複数のy軸記録を追加することもできる。

line = (
    Line()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .add_yaxis('russis', data_russia)
    .set_global_opts(title_opts=opts.TitleOpts(title="    "))
)
line.render_notebook()
在这里插入图片描述
もちろん階段折れ線図もあります。同じように実現できます。

line = (
    Line()
    .add_xaxis(x)
    .add_yaxis('china', data_china, is_step=True)
    .set_global_opts(title_opts=opts.TitleOpts(title="     "))
)
line.render_notebook()
在这里插入图片描述
六、散点図

scatter = (
    EffectScatter()
    .add_xaxis(x)
    .add_yaxis("", data_china)
    .set_global_opts(title_opts=opts.TitleOpts(title="     "))
)
scatter.render_notebook()
在这里插入图片描述
データのコントラストがよく分かりません。個々の点に対応するy軸データがより明確に見えるように、散点図にグリッドを加えることができます。

scatter = (
    EffectScatter()
    .add_xaxis(x)
    .add_yaxis("china", data_china, symbol=SymbolType.ARROW)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="   -   "),
        xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
        yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
    )
)
scatter.render_notebook()
在这里插入图片描述
また、定点の形状を指すこともできます。また、一つの散点図に複数のy軸を追加して記録することもできます。これらの配置は積み木のように自由に積み重ねられます。

scatter = (
    EffectScatter()
    .add_xaxis(x)
    .add_yaxis("china", [x + 30 for x in data_russia],symbol=SymbolType.ARROW)
    .add_yaxis("russia", data_russia, symbol=SymbolType.TRIANGLE) 
    .set_global_opts(
        title_opts=opts.TitleOpts(title="   -   "),
        xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
        yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
    )
)
scatter.render_notebook()
在这里插入图片描述
七、グラフの結合
時々、私達は多種類の図を一枚の図にまとめて表示します。pyecharsも思い付きました。基本的な手順はそれぞれのカテゴリの図を個別に生成し、Gridで両者を統合すればいいです。
例えば、棒グラフと折れ線図を一緒に置きたいなら、まずそれぞれBarとLineを生成して、二つを統合すればいいです。

from pyecharts.charts import Grid

bar = (
    Bar()
    .add_xaxis(x)
    .add_yaxis('china', data_china)
    .add_yaxis("sussia", data_russia)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="    "),
    )
)

line = (
    Line()
    .add_xaxis(x)
    .add_yaxis("   ", [x + 50 for x in data_china]
    )
)

bar.overlap(line)
grid = Grid()
grid.add(bar, opts.GridOpts(pos_left="5%", pos_right="5%"), is_control_axis_index=True)
grid.render_notebook()
在这里插入图片描述
八、語雲
pyecharsは詞雲に対しても同じです。中国語も全く大丈夫です。文字化けはありません。

import pyecharts.options as opts
from pyecharts.charts import WordCloud

data = [("    ", "999"),("    ", "888"),("    ", "777"),("      ", "688"),("      ", "588"),("    ", "516"),("    ", "515"),("    ", "483"),("     ", "462"),("    ", "449"),("       ", "429"),("    ", "407"),("       ", "406"),("    ", "406"),("      ", "386"),("       ", "385"),("    ", "375"),("    ", "355"),("      ", "355"),("    ", "335"),("    ", "324"),("      ", "304"),("       ", "304"),("    ", "284"),("     ", "284"),("  ", "284"),("    ", "254"),("        ", "254"),("    ", "253"),("      ", "253"),("    ", "223"),("       ", "223"),("    ", "223"),("    ", "223"),("    ", "223"),("    ", "223"),("    ", "223"),("    ", "223"),("    ", "223"),("    ", "152"),("    ", "152"),("    ", "152"),("    ", "152"),("    ", "152"),("    ", "152"),("  、   ", "152"),("    ", "152"),("    ", "112"),("    ", "112"),("      ", "112"),("       ", "112"),("    ", "112"),("    ", "112"),("      ", "112"),("      ", "92"),("      ", "92"),("    ", "92"),("    ", "92"),("        ", "92"),("    ", "92"),("      ", "72"),("        ", "72"),("    ", "72"),("      ", "72"),("    ", "71"),("    ", "71"),("  ", "71"),("  ", "71"),("      ", "71"),("     ", "71"),("    ", "71"),("    ", "71"),("    ", "71"),("    (  )  ", "71"),("      ", "71"),("    ", "71"),("      ", "71"),("     ", "71"),("    ", "41"),("      ", "41"),("      ", "41"),("    ", "41"),("    ", "41"),("    ", "41"),("    ", "41"),("    ", "41"),("      ", "41"),("       ", "41"),("    ", "21"),("  ", "21"),("    ", "21"),("    ", "21"),("      ", "21"),("    ", "21"),("    ", "21"),("    ", "11"),("    ", "11"),("    ", "11"),("      ", "11"),("  ", "11"),("    ", "11"),("  ", "11"),("       (       、    )", "11"),("    ", "11"),("    ", "11"),("    ", "11"),("    ", "11"),("    ", "11"),("      ", "11"),("       ", "11"),("    ", "11"),("     ", "11"),("      ", "11"),("    ", "11"),("    ", "11"),("  ", "11"),("    ", "11"),("        ", "11"),("      ", "11"),("  (  )  ", "11"),("       ", "11"),("    ", "11"),("    ", "11"),("    ", "11"),("        ", "11"),("     ", "11"),("       ", "11"),("    ", "11"),("           ", "11"),("    ", "11"),("    ", "11"),("       ", "11"),("      ", "11"),]

wordCloud = (
    WordCloud()
    .add(series_name="    ", data_pair=data, word_size_range=[6, 66])
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="    ", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
        ),
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
)
在这里插入图片描述
九、地図
時には全国の疫病状況、全国の各省の人口データ、微信親友各省の分布など、データを地図に展示したいと思います。

provinces = ['  ', '  ', '  ', '  ', '  ', '  ', '  ', '   ', '  ', '  '] 
values = [random.randint(1, 1024) for x in range(len(provinces))]

map = (
    Map()
    .add("", [list(z) for z in zip(provinces, values)], "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="      "),
        visualmap_opts=opts.VisualMapOpts(max_=1024, is_piecewise=True),
    )

)
map.render_notebook()
在这里插入图片描述
十、まとめ
今日はpyechartsを通じていくつかの常用グラフを描きました。もちろんグラフを描くには全部決まったコースがあります。
グラフの生成は大きく三つのステップに分けられ、関連データを準備し、チェーン呼び出しによってデータと関連配置を設定し、レンダー_を呼び出します。notebook()またはrender()関数がグラフを生成します。
ここでこのクールなグラフの利器pyechartsをマスターします。会社に重用されないかもしれません。の文章はここまで紹介しました。python pyechartsの関連内容は以前の文章を検索してください。または次の関連記事を引き続きご覧ください。これからもよろしくお願いします。