ホームページ  >  記事  >  バックエンド開発  >  Matplotlib を使用して積み上げグラフと円グラフを描画する方法

Matplotlib を使用して積み上げグラフと円グラフを描画する方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼転載
2019-06-04 15:42:453488ブラウズ

Matplotlib は、さまざまなハードコピー形式およびさまざまなプラットフォーム上のインタラクティブ環境で出版品質のグラフィックスを生成できる Python 2D プロット ライブラリです。

Matplotlib を使用して積み上げグラフと円グラフを描画する方法

#最後の Matplotlib データ視覚化チュートリアルでは、

棒グラフ、ヒストグラム、散布図の作成方法を紹介します##。今日は、他の 2 種類のグラフ、積み上げグラフと円グラフを紹介します。これら 2 つの図は非常に似ているため、一緒に紹介します。 積み上げグラフ

積み上げグラフは、時間の経過に伴う「部分と全体」の関係を示すために使用されます。積み上げグラフは基本的に円グラフに似ていますが、時間の経過とともに変化する点が異なります。

1 日は 24 時間あり、どのように時間を費やしているかを考えてみましょう。私たちは自分の活動を、睡眠、食事、仕事、遊びに分けます。

5 日間にわたって追跡することを想定しているため、初期データは次のようになります:

import matplotlib.pyplot as plt
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating =   [2,3,4,3,2]
working =  [7,8,7,2,2]
playing =  [8,5,7,8,13]

したがって、X 軸には日変数が含まれます。 1、2、3、4、5。日付の個々のコンポーネントは、それぞれのアクティビティに保持されます。

plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.show()

ここでは、私たちがどのように時間を過ごしているかを、少なくともカラーで見ることができます。問題は、コードを見返さないと、何色が何であるかがわからないことです。次の問題は、ポリゴンでは実際にデータに「ラベル」を追加できないことです。したがって、このような塗りつぶしや積み上げ図など、単なる線以上の場所では、本質的に特定の部分をマークアウトすることはできません。これでプログラマーが止まることはありません。これは修正できます: Matplotlib を使用して積み上げグラフと円グラフを描画する方法

import matplotlib.pyplot as plt
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating =   [2,3,4,3,2]
working =  [7,8,7,2,2]
playing =  [8,5,7,8,13]
plt.plot([],[],color='m', label='Sleeping', linewidth=5)
plt.plot([],[],color='c', label='Eating', linewidth=5)
plt.plot([],[],color='r', label='Working', linewidth=5)
plt.plot([],[],color='k', label='Playing', linewidth=5)
plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

ここで行うことは、いくつかの空の行を描画し、それらに積み上げプロットと同じ色を与え、正しいラベルを付けることです。また、凡例内で線がより広く見えるように、線の幅を 5 に設定します。自分がどのように時間を過ごしているかを簡単に確認できるようになりました。 Matplotlib を使用して積み上げグラフと円グラフを描画する方法

円グラフ

円グラフは積み上げグラフによく似ていますが、特定の時点に位置する点が異なります。通常、円グラフは、部分が全体にどのように寄与しているかを通常は % で示すために使用されます。幸いなことに、Matplotlib がスライス サイズなどすべてを処理してくれるため、数値を指定するだけで済みます。

import matplotlib.pyplot as plt
slices = [7,2,2,13]
activities = ['sleeping','eating','working','playing']
cols = ['c','m','r','b']
plt.pie(slices,
        labels=activities,
        colors=cols,
        startangle=90,
        shadow= True,
        explode=(0,0.1,0,0),
        autopct='%1.1f%%')
plt.title('Interesting Graph\nCheck it out')
plt.show()

plt.pie では、各部分の相対的なサイズである「スライス」を指定する必要があります。次に、対応するスライスの色のリストを指定します。次に、グラフィックの「開始角度」を指定することができます。これにより、どこからでも描画を開始できます。この例では、円グラフに 90 度の角度を選択しました。これは、最初のセグメントが垂直線であることを意味します。次に、文字サイズのシャドウを描画に追加するオプションがあり、その後、爆発を使用してスライスを引き出すこともできます。 Matplotlib を使用して積み上げグラフと円グラフを描画する方法

合計 4 つのスライスがあるため、爆発の場合、スライスを抜きたくない場合は、0,0,0,0 を渡します。最初のスライスを取得する場合は、0.1,0,0,0 を渡します。

最後に、autopct を使用して、グラフ上にパーセンテージを配置することを選択します。

以上がMatplotlib を使用して積み上げグラフと円グラフを描画する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。