私は使用しているのと似たダミーデータフレームを作成しました。 データフレームは、運賃、キャビンタイプ、生存(1は生存、0は死んでいる)で構成されています。右側に別のy軸を持つカウントプロットに線グラフをプロットする
最初のプロットは、factorplotを使用して多数のグラフを作成し、各グラフはキャビンタイプを表します。 x軸は運賃で表され、y軸はその運賃での出現数の単なるカウントです。
私がしたことは、[Cabin、Fare]のgroupbyで別のシリーズを作成し、各キャビンと運賃で生存率を得るために生き残りの平均を取ることに進みました。私がやりたい何
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(dict(
Fare=[20, 10, 30, 40, 40, 10, 20, 30, 40 ,30, 20, 30, 30],
Cabin=list('AAABCDBDCDDDC'),
Survived=[1, 0, 0, 0 ,0 ,1 ,1 ,0 ,1 ,1 , 0, 1, 1]
))
g =sns.factorplot(x='Fare', col='Cabin', kind='count', data=df,
col_wrap=3, size=3, aspect=1.3, palette='muted')
plt.show()
x =df.groupby(['Cabin','Fare']).Survived.mean()
は、上記カウントのグラフ上のプロットlineplotあり、(そのx軸は同じであり、各グラフはまだで表され、キャビンタイプ)、私は上記のコードでgroupby系列xで計算した生き残り平均をy軸にしたいと考えています。出力すると、下の3列目になります。
Cabin Fare
A 10 0.000000
20 1.000000
30 0.000000
B 20 1.000000
40 0.000000
C 30 1.000000
40 0.500000
D 10 1.000000
20 0.000000
30 0.666667
右側にあるべきであるラインプロットのy軸、及びIは希望の範囲は[0、0.20、0.40、0.60、0.80、1.0、1.2]
あります私はしばらく海底のドキュメントを見ましたが、これを正しく行う方法を理解できませんでした。
希望の出力はこの画像のようになります。申し訳ありませんが、私の文章はひどく見えます。塗料の使い方はよくわかりません。したがって、ティックと数字は各グラフの右側にあります。ラインプロットは、各x、yポイントでドットを介して接続されます。したがって、キャビンAの場合、最初のx、y点は(10,0)で、0は右のy軸に対応します。第2の点は(20,1)であり、以下同様である。
私はあなたがこのようにしたいとは思っていません。あなたは、線がすべきであると思うところのイメージを描くことができますか? – piRSquared
こんにちはpiRSquared。このサイトのツールを使ってグラフに描画する方法はありますか?または私はMS塗料を使用する必要がありますか?私はそれにあまり慣れていないので、私はMS塗料で遊ぶ必要があります。 – Moondra
さて、私はMSペイントで遊んで、私の希望する出力を追加しました。私は私の追加が明確であることを願っています。 – Moondra