#条形图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib import font_manager#汉字问题
font=font_manager.FontProperties(fname=r"C:\\Windows\\Fonts\\msyh.ttc",size=5)
datas6=pd.read_csv("新.csv",encoding='utf-8',index_col=0)
datas6.fillna(0,inplace=True)
# datas5=pd.read_csv("五普行业人口.csv",encoding='gbk',index_col=0)
# datas5.fillna(0,inplace=True)
# datas.loc['小计']=datas.apply(lambda x: x.sum(),axis=1)竖着加
# datas['小计']=datas.sum(axis=1)横着加
# data=datas6.drop(columns=['合 计'],axis=0)
# datas=data.drop(index=['总 计','汉 族','其他未识别的民族','外国人加入中国籍'],axis=0)
for columns in datas6.columns:
print(columns)
data=datas6[columns].sort_values()
x=data.index
y=data/10000
# plt.figure(figsize=(15,5))
# plt.bar(x,y,color='r')#width=0.3宽度 bottom y轴最小开始 color='r'
# plt.xticks(FontProperties=font,size=7)
# plt.yticks(range(0,70,10),["%d万人"%x for x in range(0,70,10)],FontProperties=font,size=7)
plt.figure(figsize=(20,20))
plt.barh(x,y)
plt.ylabel("民族",FontProperties=font,size=20)
plt.xlabel("人数(单位:万人)",FontProperties=font,size=20)
plt.yticks(FontProperties=font,size=17)
plt.xticks(FontProperties=font,size=17)
plt.title(columns,FontProperties=font,size=20)
plt.savefig("D:/pictures/{}.png".format(columns))
横向条形图
最新推荐文章于 2024-10-14 09:08:48 发布