2017-08-01 72 views
0

我正在做一些數據可視化,並發現了一個小問題(對我來說)來顯示數據。 我使用的Haberman Survival Data Set並有我的代碼:「交換」python中的堆棧條(Pandas + matplotlib)

import pandas as pd 
import numpy as np 
import seaborn as sns 
import matplotlib.pyplot as plt 



data = pd.read_table('haberman.data', sep = ",") 
data['lived'] = data['lived'].map({ 1: 'Yes', 2: 'No'}) 

dataYear = data.sort_values(['year']) 

plot1 = dataYear.groupby('year')['lived'].value_counts() 
#plot1.unstack().head() 


my_plot = plot1.unstack().plot(kind='bar', stacked = True, title="Patients X Year") 
my_plot.set_xlabel("Year") 
my_plot.set_ylabel("Total") 
plt.show() 

所以我的目的是要看看治療的年份可以促進患者的治療。此代碼生成這個美麗的曲線圖:

My graph

我只是想從底部交換號(藍色)的是(綠色)以上。 可能大熊貓有一個「祕密」參數(是的,我在pandas.plot和matplotlib的文檔中搜索),或者它可能更復雜一些,涉及到安排數據。

回答

0

這是否適合您?

import pandas as pd 
import numpy as np 
import seaborn as sns 
import matplotlib.pyplot as plt 



data = pd.read_table('haberman.data', sep = ",") 
data['lived'] = data['lived'].map({ 1: 'Yes', 2: 'No'}) 

dataYear = data.sort_values(['year']) 

plot1 = dataYear.groupby('year')['lived'].value_counts() 
#plot1.unstack().head() 


my_plot = plot1.unstack().plot(kind='bar', stacked = True, title="Patients X Year") 
my_plot.set_xlabel("Year") 
my_plot.set_ylabel("Total") 
plt.show() 
handles, labels = my_plot.get_legend_handles_labels() 
my_plot.legend(reversed(handles), reversed(labels) 
+0

您好,感謝您的回覆,但它不起作用。 (我也嘗試在代碼中移動新行,但圖表沒有改變)。 – Hegaja