3.6.3 Python データ視覚化 - チャート補助要素のカスタマイズ

3.6.3 例 5: 2013 年から 2019 年度のアリババのタオバオおよび Tmall プラットフォームの GMV (Tim

注釈付きテキスト)

縦棒グラフは、縦棒の高さによってデータの各グループの量を反映できますが、ユーザーが正確に知ることは依然として不可能です。
特定の値。このため、縦棒グラフは注釈テキストと組み合わせて使用​​されることが多く、列の上部に特定の値をラベル付けします。2.2.2
セクションの例の縦棒グラフは、アリババ タオバオと天猫のプラットフォームの GMV を示していますが、図の長方形の棒には具体的なデータがありません。
値なので、ここでは縦棒グラフに無向注釈テキストを追加します。コードは次のとおりです。
[6] では:
# 05_タオバオ_アンド_ティアンマオ_GMV
matplotlib.pyplotをpltとしてインポート
numpyをnpとしてインポート
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(1, 8)
y = np.array([10770, 16780, 24440, 30920, 37670, 48200, 57270])
bar_rects = plt.bar(x, y, Nick_label=["2013年度", "2014年度", "2015年度",
             "2016年度"、"2017年度"、"2018年度"、"2019年度"]、幅=0.5)
# 無宛名コメントテキストを追加する
def autolabel(rects):
  """高さを示すために各バーの上にテキスト ラベルを追加します"""
  四角形内の四角形の場合:
    height = rect.get_height() # 各四角形の高さを取得します
    plt.text(rect.get_x() + rect.get_width() / 2, 高さ + 300,
         s='{}'.format(高さ),
         ha='中央'、va='底')
自動ラベル(bar_rects)
plt.ylabel('GMV (億元)')
plt.show()
プログラムを実行すると、その結果が図 3-17 に示されます。
図 2-6 と比較すると、図 3-17 の縦棒グラフには、 ユーザーが正確に把握できるように y 軸ラベルとコメント テキストが 追加されています。
各バーに対応する値。 a8e87b9c9d9a499bbc603ebdd2faa01b.png
3.7 テーブルの追加
3.7.1 カスタム スタイル テーブルの追加
matplotlib は、ユーザーがデータ間の規則性を発見できるように、さまざまなグラフを描画できます。データを強調するために
データのルールや特徴は、多変量解析の観点からデータの潜在的な意味を深く探求するのに便利です。グラフとデータ テーブルを組み合わせることができます。
データテーブルと組み合わせて、グラフの特定の部分の値を強調するために使用されます。グラフへのデータ テーブルの追加は matplotlib で提供されます
関数 table()、この関数の構文は次のとおりです。
table(cellText=None、cellColours=None、cellLoc='right'、colWidths=None、
    rowLabels=なし、rowColours=なし、rowLoc='left'、colLabels=なし、
    ColColors=なし、colLoc='center'、loc='bottom'、bbox=なし、
    edges='closed', **kwargs)
この関数でよく使用されるパラメータの意味は以下のとおりです。
・cellText: 表のセル内のデータを示します。2 次元のリストです。
・cellColours: セルの背景色を示します。
· cellLoc : セルのテキストの配置を示し、「left」、「right」、「center」の 3 つの値をサポートします。デフォルト値は次のとおりです。
'右'。
·colWidths: 各列の幅を示します。
· rowLabels : 行タイトルのテキストを示します。
·rowColours: 行タイトルが配置されているセルの背景色を示します。
· rowLoc: 行タイトルの配置を示します。
·colLabels : 列見出しのテキストを示します。
·colColours: 列ヘッダーが配置されているセルの背景色を示します。
·colLoc : 列見出しの配置を示します。

・loc:テーブルと描画領域の位置合わせを示します。

さらに、Axes オブジェクトの table() メソッドを使用して、データ テーブルをチャートに追加することもできます。このメソッドは table() 関数と同じです。
使用法は同様なので、ここでは繰り返しません。
3.6.2項で描いたサイングラフとコサイングラフにデータテーブルを追加し、追加したコードは以下のとおりです。
# テーブルを追加
plt.table(cellText=[[6, 6, 6], [8, 8, 8]],
      ColWidths=[0.1] * 3、
      rowLabels=['行 1', '行 2'],
      ColLabels=['列 1', '列 2', '列 3'], loc='右下')
プログラムを実行すると、その結果が図 3-18 に示されます。 ce098f5ca17147688fbb17d0697326b3.png
3.7.2 例 6: ジャムパンの材料の割合
良い一日は朝食から始まります。ジャムを添えたパンは一般的な朝食であり、大人も子供も関係なく誰にでも愛されています
彼らは皆食べることが大好きです。あるジャムパンを作るために準備する必要がある材料は表 3-4 に示されていることが知られています。 e5b76707c69c463a8ec111a4f2b36168.png

表3-4のデータに従い、凡例項目として「原材料名」列のデータを使用し、総重量に対する「重量」列のデータの割合をデータとして使用し、pie()を使用します。ジャムパンの材料の割合を円グラフで描き、設定すると、各材料の重量がデータテーブルの形でグラフに追加され、各材料の割合と重量を把握するのに便利です。コード

次のように。

[7] では:
# 06_ジャム_パンの材料
matplotlib.pyplotをpltとしてインポート
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
種類 = [「小麦粉」、「小麦粉」、「イースト」、「アップルソース」、「卵」、「バター」、「塩」、「砂糖」]
重み = [250, 150, 4, 250, 50, 30, 4, 20]
総重量 = 0
私の場合、体重:
  総重量 += i
バッチング_スケール = [i / i の合計重量]
plt.pie(batching_scale, autopct='%3.1f%%')
plt.legend(kinds, loc='右上', bbox_to_anchor=[1.1, 1.1])
# テーブルを追加
plt.table(cellText=[体重],
       cellLoc='センター',
       rowLabels=['重量 (g)'],
       ColLabels=種類、
       loc='中央下')
plt.show()
プログラムを実行すると、その結果が図 3-19 に示されます。

6061b6edec0949e09a7c617df509a322.png 

図 3-19 では、表は円グラフの下にあります。図 3-19 から、青と赤のセクターの面積が最も大きいことがわかります。

アップルソースと小麦粉がジャムパンの中で最も多くを占め、重さはどちらも250gでした。

3.8 章の要約
この章では主に、よく使用される補助要素の理解、座標軸のラベルの設定、グラフの補助要素のカスタマイズについて紹介します。
目盛り範囲と目盛りラベルの設定、タイトルと凡例の追加、グリッドの表示、ガイドと領域の追加、注釈の追加
テキスト、表を追加します。この章の内容を学ぶことで、読者は一般的なチャート補助要素の目的と使用法を理解し、次のことを行うことができます。

図に適切な補助要素を選択します。

 
3.9 演習
 
1. 空白を埋める
1. チャートの補助要素は、データから抽出された要素以外の要素です。
2. 凡例は、チャート内の各グループのグラフィカル モードをリストしたボックス図です。
3. ポインティング注釈テキストは、アノテーション手法によりグラフを説明するテキストです。
4. 軸上の特定の値をマークする線です。
5. matplotlib に付属のエンジンは、数学的文字列を自動的に認識し、数学的文字列を対応する文字列に解析できます。
    。
2. 判断に関する質問
1. matplotlib の凡例は常にチャートの右上に配置され、その位置は不変です。( )
2. 基準線は、グラフ データを特定の値と比較するための基準を提供します。( )
3. 軸のラベルはチャートの名前を表し、通常はチャートの上部中央に位置します。( )
4. 軸に目盛がない場合、グリッドは表示できません。( )
5. 軸のスケール範囲はデータの最大値と最小値によって異なります。( )
3. 多肢選択問題
1. グラフの補助要素に関して、以下の記述に誤りがあります( )。
A.タイトルは通常、グラフの上部中央に配置され、ユーザーがグラフで何を説明しようとしているのかを理解しやすくなります。
B.参照領域は、軸上の特定の値をマークする線です
C.凡例は凡例マークと凡例項目で構成されており、ユーザーがグラフィックの各グループの意味を理解するのに役立ちます。
D.表は主に、理解しにくいデータを強調するために使用されます。
2. 以下の機能のうち、軸の目盛りラベルを設定できます( )。
xlim()
B.グリッド()
xticks()
axhline()
3. pyplot の legend() 関数を使用して凡例を追加する場合、凡例の列数を制御できるパラメータは次のどれですか?
( )
場所
B.ncol
bbox_to_anchor D.ファンシーボックス
4. 次のオプションのうち、値 1.5 の水平基準線をグラフに追加できます ( )。
A.
plt.axhline(y=1.5, ls='--', 線幅=1.5)
B.
plt.axhline(y=1, ls='--', 線幅=1.5)

 

C.
plt.axvline(x=1.5, ls='--', linewidth=1.5)
D.
plt.axvline(x=1, ls='--', linewidth=1.5)
5. 次のコード部分を読んでください。
r'$\alpha^i < \beta^i$'
上記のコードに対応する数式は ( ) です。
A. a i > b i
B. α i > β i
C. α i < β i
D. α i < β i
4. 短答式の質問
1. 指示されたコメント テキストと指示されていないコメント テキストの違いを簡単に説明してください。
2. よく使用される補助要素とその機能を図表にリストしてください。
5. プログラミングに関する質問
1. 第 2 章のプログラミングの質問の最初の質問に基づいて縦棒グラフをカスタマイズします。具体的な要件は次のとおりです。
(1) y 軸のラベルを「平均成績 (スコア)」に設定します。
(2) X 軸の目盛りラベルが 2 組の列の中央に設定されるようにします。
(3) タイトルに「高校2年生男女の平均成績」を追加。
(4) 凡例を追加します。
(5) 各バーの上部にメモ テキストを追加し、平均評点をメモします。
2. 第 2 章のプログラミングの質問の質問 2 に基づいて円グラフをカスタマイズします。特定の要件は次のとおりです。
(1) タイトル「Pinduoduo プラットフォーム サブカテゴリの売上高」を追加します。
(2) 凡例を追加し、2 列で表示します。
(3) サブカテゴリ別の売上を示す表を追加します。

 

おすすめ

転載: blog.csdn.net/qq_43416206/article/details/132262980