データを読み込んで変換し、水平の積み上げ棒グラフをプロットするにはどうすればよいですか?

マーク・カービー
  • matplotlibの水平棒グラフとしての離散分布の例を使用して、2017年のシュロプシャー選挙での投票のシェアを示すグラフを作成しました。

  • しかし、データの操作方法がわからなかったため、プログラムに手動でデータを入力する必要がありました。これは明らかに自分の無知によるものです。

  • 関連するデータがCSVファイルに含まれているため、データフレームとして読み込むことができます。

    • CSVには、各区の行があり、そのうち63の列と、各党(Tory、LD、Labour、Green、Indep)の投票率の列があるため、5つの実質的な列があります。
  • このグラフの入力に似たデータの形式を変更する方法についてアドバイスが必要でした。

  • それが何であるかはわかりませんが、キーと値を持つ辞書タイプのようです。

私のデータは部分的に読み取ります:

category_names = ['Labour', 'LD', 'Indep', 'Green', 'Tory']
results = {'Abbey': [16, 56, 4,0, 24],
           'Albrighton': [0, 0, 32, 0, 68],
           'Alveley & Claverley': [0, 25, 0, 0, 75],
           'Bagley': [30, 30, 0, 0, 40],
           'Battlefield': [34, 0, 0, 9, 57],
           'Bayston Hill, Column & Sutton': [53, 4, 3, 7, 33],
           'Belle Vue': [43,28,0,5,24]}
  • pandasデータフレームとして入力したときに、csvファイルから直接このようにフォーマットするデータを取得しようとしています。

  • 値の方法と方法を試しましたが、to_dictデータが似ているように見えますが、完全には正しくありません。

    • データをキーと値に分割する必要があると思いますが、それが私の知識が限界に達するところです。
トレントン・マッキニー

オプション1:'Party'y軸として

  • 使用するresultsと、category_namesOPからのデータ
import pandas as pd
import matplotlib.pyplot as plt

# plt configuration parameters
plt.style.use('seaborn')
plt.rcParams['figure.figsize'] = (16.0, 10.0)

# setup dataframe using the dict provided in the OP
df = pd.DataFrame(results, index=category_names)

# display(df)
        Abbey  Albrighton  Alveley & Claverley  Bagley  Battlefield  Bayston Hill, Column & Sutton  Belle Vue
Labour     16           0                    0      30           34                             53         43
LD         56           0                   25      30            0                              4         28
Indep       4          32                    0       0            0                              3          0
Green       0           0                    0       0            9                              7          5
Tory       24          68                   75      40           57                             33         24

# plot 
ax = df.plot.barh(stacked=True, cmap='tab10', figsize=(16, 10))

# annotations:
for p in ax.patches:
    left, bottom, width, height = p.get_bbox().bounds
    if width > 0:
         ax.annotate(f'{width:0.0f}', xy=(left+width/2, bottom+height/2), ha='center', va='center')

ここに画像の説明を入力してください

オプション2:'Ward'y軸として

  • 使用pandas.DataFrame.TスワップするIndexと、Columns
    • 'Ward'これでインデックス'Party'になり、列になります
# using df from Option 1

# transpose df so Party is the in the columns and Ward is the index
dft = df.T

# display(dft)
                               Labour  LD  Indep  Green  Tory
Abbey                              16  56      4      0    24
Albrighton                          0   0     32      0    68
Alveley & Claverley                 0  25      0      0    75
Bagley                             30  30      0      0    40
Battlefield                        34   0      0      9    57
Bayston Hill, Column & Sutton      53   4      3      7    33
Belle Vue                          43  28      0      5    24

# plot
ax = dft.plot.barh(stacked=True, figsize=(16, 10))

plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))

# annotations:
for p in ax.patches:
    left, bottom, width, height = p.get_bbox().bounds
    if width > 0:
         ax.annotate(f'{width:0.0f}', xy=(left+width/2, bottom+height/2), ha='center', va='center')

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダの変数の1つを使用して積み上げ棒グラフをプロットするにはどうすればよいですか?

分類Dev

パーセンテージを指定して、積み上げ棒グラフをプロットするにはどうすればよいですか?

分類Dev

pandas dfの積み上げ棒グラフで上位n個の最高値のみをプロットするにはどうすればよいですか?

分類Dev

MATLABで1本棒の積み上げ棒グラフをプロットするにはどうすればよいですか?

分類Dev

3セットのデータの積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

積み上げ棒グラフを水平に表示するにはどうすればよいですか?

分類Dev

積み上げ棒グラフを水平に表示するにはどうすればよいですか?

分類Dev

データ型リストのggplotで積み上げ棒グラフを描画するにはどうすればよいですか?

分類Dev

Rのggplotで積み上げ積み上げ棒グラフの位置を変更するにはどうすればよいですか?

分類Dev

Rの積み上げ棒グラフの積み上げ順序を変更するにはどうすればよいですか?

分類Dev

文字列データにC3を使用して積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

d3.jsを使用して、単一の積み上げ水平棒グラフのX値を設定するにはどうすればよいですか?

分類Dev

パンダデータフレームの列の中央値の積み上げ棒グラフをプロットするにはどうすればよいですか?

分類Dev

問題の積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

長いデータフレーム形式からggplotで積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

データフレームから積み上げ棒グラフにカスタム注釈を追加するにはどうすればよいですか?

分類Dev

データフレームから積み上げ棒グラフにカスタム注釈を追加するにはどうすればよいですか?

分類Dev

matplotlibで積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

1つのエントリに対して複数の値を持つ積み上げ棒グラフをプロットするにはどうすればよいですか?頻度チャート

分類Dev

ggplot2を使用して積み上げ棒グラフの順序と配色を変更するにはどうすればよいですか?

分類Dev

ハイチャートの積み上げ棒グラフの内側にテキストを表示するにはどうすればよいですか

分類Dev

Chart.JSで積み上げ棒グラフ/水平グラフを作成するにはどうすればよいですか?

分類Dev

ggplot2を使用して、ワイドデータのセットから積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

積み上げ棒グラフのラベルとしてパーセンテージを使用するにはどうすればよいですか?

分類Dev

Plotly:単一のトレースから積み上げ棒グラフを作成するにはどうすればよいですか?

分類Dev

積み上げ棒グラフの棒の中にシリーズ名を表示するにはどうすればよいですか?

分類Dev

matplotlibの棒グラフ/積み上げ棒グラフのラベルを取得するにはどうすればよいですか?

分類Dev

Rの同じ図に横棒グラフと積み上げ棒グラフを並べて表示するにはどうすればよいですか?

分類Dev

Pythonで積み上げ線のプロットを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    パンダの変数の1つを使用して積み上げ棒グラフをプロットするにはどうすればよいですか?

  2. 2

    パーセンテージを指定して、積み上げ棒グラフをプロットするにはどうすればよいですか?

  3. 3

    pandas dfの積み上げ棒グラフで上位n個の最高値のみをプロットするにはどうすればよいですか?

  4. 4

    MATLABで1本棒の積み上げ棒グラフをプロットするにはどうすればよいですか?

  5. 5

    3セットのデータの積み上げ棒グラフを作成するにはどうすればよいですか?

  6. 6

    積み上げ棒グラフを水平に表示するにはどうすればよいですか?

  7. 7

    積み上げ棒グラフを水平に表示するにはどうすればよいですか?

  8. 8

    データ型リストのggplotで積み上げ棒グラフを描画するにはどうすればよいですか?

  9. 9

    Rのggplotで積み上げ積み上げ棒グラフの位置を変更するにはどうすればよいですか?

  10. 10

    Rの積み上げ棒グラフの積み上げ順序を変更するにはどうすればよいですか?

  11. 11

    文字列データにC3を使用して積み上げ棒グラフを作成するにはどうすればよいですか?

  12. 12

    d3.jsを使用して、単一の積み上げ水平棒グラフのX値を設定するにはどうすればよいですか?

  13. 13

    パンダデータフレームの列の中央値の積み上げ棒グラフをプロットするにはどうすればよいですか?

  14. 14

    問題の積み上げ棒グラフを作成するにはどうすればよいですか?

  15. 15

    長いデータフレーム形式からggplotで積み上げ棒グラフを作成するにはどうすればよいですか?

  16. 16

    データフレームから積み上げ棒グラフにカスタム注釈を追加するにはどうすればよいですか?

  17. 17

    データフレームから積み上げ棒グラフにカスタム注釈を追加するにはどうすればよいですか?

  18. 18

    matplotlibで積み上げ棒グラフを作成するにはどうすればよいですか?

  19. 19

    1つのエントリに対して複数の値を持つ積み上げ棒グラフをプロットするにはどうすればよいですか?頻度チャート

  20. 20

    ggplot2を使用して積み上げ棒グラフの順序と配色を変更するにはどうすればよいですか?

  21. 21

    ハイチャートの積み上げ棒グラフの内側にテキストを表示するにはどうすればよいですか

  22. 22

    Chart.JSで積み上げ棒グラフ/水平グラフを作成するにはどうすればよいですか?

  23. 23

    ggplot2を使用して、ワイドデータのセットから積み上げ棒グラフを作成するにはどうすればよいですか?

  24. 24

    積み上げ棒グラフのラベルとしてパーセンテージを使用するにはどうすればよいですか?

  25. 25

    Plotly:単一のトレースから積み上げ棒グラフを作成するにはどうすればよいですか?

  26. 26

    積み上げ棒グラフの棒の中にシリーズ名を表示するにはどうすればよいですか?

  27. 27

    matplotlibの棒グラフ/積み上げ棒グラフのラベルを取得するにはどうすればよいですか?

  28. 28

    Rの同じ図に横棒グラフと積み上げ棒グラフを並べて表示するにはどうすればよいですか?

  29. 29

    Pythonで積み上げ線のプロットを作成するにはどうすればよいですか?

ホットタグ

アーカイブ