import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import DataFrame,Series df = pd.read_table('tiantic') # 扇形图,也就是饼图 s1 = (df['Sex'] == 'female').sum() s2 = (df['Sex'] == 'male').sum() list1 = [s1,s2] list2 = ['female','male'] # expl是为了分割圆 expl = [0,0.1] # 使圆为一个正圆 plt.axes(aspect=1) plt.pie(x = list1, labels= list2,explode=expl,autopct='%3.1f %%') plt.title("Sex Proportion") plt.savefig('6.png') plt.show() #以下是两种不同的方式去画堆叠柱状图 # 1、堆叠柱状图 d1 = ((df["Pclass"]==1)&(df["Survived"]==0)).sum() d11 = ((df["Pclass"]==1)&(df["Survived"]==1)).sum() d2 = ((df["Pclass"]==2)&(df["Survived"]==0)).sum() d22 = ((df["Pclass"]==2)&(df["Survived"]==1)).sum() d3 = ((df["Pclass"]==3)&(df["Survived"]==0)).sum() d33 = ((df["Pclass"]==3)&(df["Survived"]==1)).sum() lists = [d1,d2,d3] lists1= [d11,d22,d33] name_list = ["1",'2',"3"] plt.rcParams['font.sans-serif']=['SimHei'] plt.bar(range(len(lists)),lists,label = 'Unsurvived',fc='r') plt.bar(range(len(lists)),lists1,bottom = lists,label = 'Survived',tick_label=name_list,fc='g') plt.xlabel("乘客等级") plt.ylabel('人数') plt.title("各乘客等级的获救与遇难情况") plt.legend() plt.savefig("7.png") plt.show() # 2、堆叠柱状图 x1 = df.Embarked[df.Survived == 0].value_counts() x2 = df.Embarked[df.Survived == 1].value_counts() x = pd.DataFrame({"未获救":x1,"获救":x2}) plt.rcParams['font.sans-serif']=['SimHei'] x.plot.bar(stacked= True) plt.title("各登陆港口乘客的获救与遇难情况") plt.xlabel("登录港口") plt.ylabel("人数") plt.legend() plt.savefig('8.png') plt.show()
2018年大数据比赛专科组 第3部分 数据可视化
最新推荐文章于 2023-03-08 15:58:20 发布