我創建了一個類似於我正在使用的虛擬數據框。 數據幀包括票價,客艙類型和生存(1是活着的,0 =死亡)。在計數圖上繪製折線圖,右邊有單獨的y軸
第一個繪圖通過factorplot創建許多圖形,每個圖形表示Cabin類型。 X軸由票價表示,Y軸僅表示該票價出現次數的計數。
我之後做的是通過[Cabin,Fare]組創建另一個系列,然後以每個客艙和票價的生存率來計算生存的平均值。
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軸是相同的,並且每個圖形仍然由a表示小屋型),但我希望Y軸是我們在上面的代碼中用系列x計算的生存意義,當輸出時,它將是下面的第三列。
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軸爲線圖應是在右側的,我想範圍爲[0,0.20,0.40,0.60,0.80,1.0,1.2]
我通過seaborn文檔看了一會兒,但我無法弄清楚如何正確地做到這一點。
我想要的輸出看起來像這個圖像。我很抱歉,我的寫作看起來很可怕,我不知道如何使用油漆。所以蜱和數字在每張圖的右側。線圖將在每個x,y點通過點連接。因此,對於A艙,第一個x,y點是(10,0),0對應於右側的y軸。第二點是(20,1)等等。
我不確定你想要這個樣子。你可以借鑑你認爲線條應該是的形象嗎? – piRSquared
你好。有沒有通過本網站上的工具繪製圖表的方法?或者我需要使用MS油漆?因爲我不太熟悉它,所以我將不得不使用MS油漆。 – Moondra
好吧,我玩MS油漆,並添加了我所需的輸出。我希望我的補充很清楚。 – Moondra