Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでチャートに凡例を追加する方法は?


はじめに...

グラフの主な目的は、データを簡単に理解できるようにすることです。 「絵は千の言葉に値する」とは、言葉では表現できない複雑なアイデアを1つの画像/グラフで伝えることができることを意味します。

多くの情報を含むグラフを描画する場合、表示されるデータの理解を深めるために、凡例が関連情報を表示するのに役立つ場合があります。

その方法..

matplotlibでは、凡例を複数の方法で表示できます。特定のポイントに注意を引くための注釈は、読者がグラフに表示される情報を理解するのに役立ちます。

1. pythonコマンドプロンプトを開き、pip install matplotlibを起動して、matplotlibをインストールします。

2.表示するデータを準備します。

import matplotlib.pyplot as plt

# data prep (I made up data no accuracy in these stats)
mobile = ['Iphone','Galaxy','Pixel']

# Data for the mobile units sold for 4 Quaters in Million
units_sold = (('2016',12,8,6),
('2017',14,10,7),
('2018',16,12,8),
('2019',18,14,10),
('2020',20,16,5),)

3.データを各企業のモバイルユニットのアレイに分割します。

# data prep - splitting the data
IPhone_Sales = [Iphones for Year, Iphones, Galaxy, Pixel in units_sold]
Galaxy_Sales = [Galaxy for Year, Iphones, Galaxy, Pixel in units_sold]
Pixel_Sales = [Pixel for Year, Iphones, Galaxy, Pixel in units_sold]

# data prep - Labels
Years = [Year for Year, Iphones, Galaxy,Pixel in units_sold]

# set the position
Position = list(range(len(units_sold)))

# set the width
Width = 0.2

4.準備されたデータを使用して棒グラフを作成します。各製品の売上は、その位置と売上を指定して.barを呼び出します。

注釈は、xy属性とxytext属性を使用して追加されます。データを見ると、Google Pixelモバイルの売上は50%減少しています。つまり、2019年の1,000万台から、2022年にはわずか500万台に減少しました。そのため、テキストと注釈を最後のバーに設定します。

最後に、legendパラメータを使用して凡例を追加します。デフォルトでは、matplotlibは、データの重複が最も少ない領域に凡例を描画します。

plt.bar([p - Width for p in Position], IPhone_Sales, width=Width,color='green')
plt.bar([p for p in Position], Galaxy_Sales , width=Width,color='blue')
plt.bar([p + Width for p in Position], Pixel_Sales, width=Width,color='yellow')

# Set X-axis as years
plt.xticks(Position, Years)

# Set the Y axis label
plt.xlabel('Yearly Sales')
plt.ylabel('Unit Sales In Millions')

# Set the annotation Use the xy and xytext to change the arrow
plt.annotate('50% Drop in Sales', xy=(4.2, 5), xytext=(5.0, 12),
horizontalalignment='center',
arrowprops=dict(facecolor='red', shrink=0.05))

# Set the legent
plt.legend(mobile, title='Manufacturers')

出力

<matplotlib.legend.Legend at 0x19826618400>

Pythonでチャートに凡例を追加する方法は?

  • グラフ内に凡例を追加するのが煩わしいと感じる場合は、bbox_to_anchorオプションを使用して凡例を外側にプロットできます。 bbox_to_anchorには(X、Y)の位置があり、0はグラフの左下隅、1は右上隅です。

注: -.subplots_adjustを使用して、グラフの開始位置と終了位置の凡例を調整します。

例えば。 right =0.50の値は、画面の50%がプロットの右側に残ることを意味します。左側のデフォルト値は0.125です。これは、左側のスペースの12.5%を残すことを意味します。

出力

plt.legend(mobile, title='Manufacturers', bbox_to_anchor=(1, 0.8))
plt.subplots_adjust(right=1.2)

Pythonでチャートに凡例を追加する方法は?

6.最後に図を保存しましょう。

import matplotlib.pyplot as plt

# data prep (I made up data no accuracy in these stats)
mobile = ['Iphone','Galaxy','Pixel']

# Data for the mobile units sold for 4 Quaters in Million
units_sold = (('2016',12,8,6),
('2017',14,10,7),
('2018',16,12,8),
('2019',18,14,10),
('2020',20,16,5),)

# data prep - splitting the data
IPhone_Sales = [Iphones for Year, Iphones, Galaxy, Pixel in units_sold]
Galaxy_Sales = [Galaxy for Year, Iphones, Galaxy, Pixel in units_sold]
Pixel_Sales = [Pixel for Year, Iphones, Galaxy, Pixel in units_sold]

# data prep - Labels
Years = [Year for Year, Iphones, Galaxy,Pixel in units_sold]

# set the position
Position = list(range(len(units_sold)))

# set the width
Width = 0.2

plt.bar([p - Width for p in Position], IPhone_Sales, width=Width,color='green')
plt.bar([p for p in Position], Galaxy_Sales , width=Width,color='blue')
plt.bar([p + Width for p in Position], Pixel_Sales, width=Width,color='yellow')

# Set X-axis as years
plt.xticks(Position, Years)

# Set the Y axis label
plt.xlabel('Yearly Sales')
plt.ylabel('Unit Sales In Millions')

# Set the annotation Use the xy and xytext to change the arrow
plt.annotate('50% Drop in Sales', xy=(4.2, 5), xytext=(5.0, 12),
horizontalalignment='center',
arrowprops=dict(facecolor='red', shrink=0.05))

# Set the legent
plt.legend(mobile, title='Manufacturers')

plt.legend(mobile, title='Manufacturers')
plt.subplots_adjust(right=1.2)

# plt.show()
plt.savefig('MobileSales.png')

Pythonでチャートに凡例を追加する方法は?


  1. Pythonにパスを追加する方法は?

    Pythonは、1991年に最初にリリースされたプログラミング言語です。複数のオペレーティングシステムで使用できるアプリケーションがあり、開発者はその上で新しいコードを記述および開発できます。 Pythonは、開発者と広範なサポートに伴う可能性が非常に大きいため、最も広く使用されているプログラミング言語の1つです。 ユーザーが「python」という単語を入力するたびに 」コマンドプロンプトでエラーが返されます。正しく機能するには、パス全体を指定する必要があります。これは、コマンドプロンプトが出力をロードするために「python.exe」を見つける必要があり、パス全体が指定されていない限り、

  2. Rubyで例外にコンテキストデータを追加する方法

    標準のバックトレース/エラーメッセージの組み合わせでは不十分な場合があります。エラーの原因を特定するために、追加のデータが必要になる場合があります。幸い、Rubyで行うのはとても簡単です。 エラーメッセージのカスタマイズ エラーにコンテキスト情報を追加する最も簡単な方法は、それを例外のメッセージに追加することです。以下の例では、例外をキャッチし、新しいメッセージで再発生させています: begin raise foo rescue => e raise e.class, bar end # RuntimeError: bar このアプローチの良い使用例は、テンプレートをレン