実現したいこと
以下のようなデータを使います.
data
1Name,dropped,cc, tt 2name1,h,2484,26286 3name1,n,237,26286 4name1,p,21,26288 5name1,t,2487,26286 6name1,w,24813,26286 7name2,h,249,26286 8name2,n,2503,286 9name2,p,24915,22 10name2,t,25053,6286 11name2,w,24953,26286 12name3,h,24878,26286 13name3,n,2472,26286 14name3,p,2482,288 15name3,t,241,2286 16name3,w,2492,26286 17 18(このデータはname5まで続きます)
このデータから以下のような棒グラフを作成するのが目的です.
図面の一部のみを示しています.
左のまとまりから,name1, name2, name3, name4, name5となっています.
そして,色分けで左から,h, n, p, t, wとなっています.
以上のようなグラフを作成したいとおもいます.
やってみたことと発生している問題・質問
以下のようにデータを読み込み,pivotテーブルを作成して図面を作成しました.
python
1df = pd.read_csv("results.csv", index_col=[0, 1], header=0) # マルチインデックスを作成しました.不要な操作だと思います. 2df = df.loc[:, "tt"].reset_index() # tt列だけ抽出して,リセットインデックスをします. 3df = df.loc.pivot(index='Name', columns='dropped') 4df.plot(kind="bar")
以上のように,ピボットテーブルを作成しグラフを作成しますと,確かに上の図のような図面はでるのですが,色分けで問題が生じています.
色が,左から順に,
n, h, p, t, w
と勝手にソートされてしまうのです.
ピボットテーブルを用いた時,ソートされないでそのまま扱う方法,ないし,目的に適ったグラフの描き方を教えていただけないでしょうか.
よろしくお願いいたします.
補足
anacondaのバージョンは,
anaconda3-4.4.0
です.

回答1件
あなたの回答
tips
プレビュー