博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
散点图、折线图、柱状图、饼图绘制(城乡人口)
阅读量:4101 次
发布时间:2019-05-25

本文共 2286 字,大约阅读时间需要 7 分钟。

 分析所用文件来源:

代码如下:

import matplotlib.pyplot as pltimport  numpy as npplt.rcParams['font.sans-serif'] = 'SimHei'plt.rcParams['axes.unicode_minus']=Falsestatistics = np.load(r'C:\Users\Administrator\Documents\Tencent Files\1239112948\FileRecv\populations.npz',allow_pickle=True)data = statistics['data']feature_names = statistics['feature_names']#数据time_x = data[-3::-1,0]totle_peo = data[-3::-1,1]man_y = data[-3::-1,2]female_y = data[-3::-1,3]city_peo = data[-3::-1,4]rural_peo = data[-3::-1,5]#===========1996~2015年,男女、城乡、总人口对应的散点图# #绘图# fig = plt.figure(figsize=(7,8))# #男女图# fig.add_subplot(2,1,1)# plt.scatter(time_x,man_y)# plt.scatter(time_x,female_y)# plt.legend(['男性','女性'])# plt.xticks(time_x,rotation=45)# #乡镇图# fig.add_subplot(2,1,2)# plt.scatter(time_x,city_peo)# plt.scatter(time_x,rural_peo)# plt.legend(['城镇人口','乡村人口'])# plt.xticks(time_x,rotation=45)## plt.show()#===========1996~2015年,男女、城乡、总人口对应的折线图#绘图# fig_line = plt.figure(figsize=(7,8))# #男女图# fig_line.add_subplot(2,1,1)# plt.plot(time_x,man_y,marker='o')# plt.plot(time_x,female_y,marker='o')# plt.legend(['男性','女性'])# plt.xticks(time_x,rotation=45)## #乡镇图# fig_line.add_subplot(2,1,2)# plt.plot(time_x,city_peo,marker='*')# plt.plot(time_x,rural_peo,marker='*')# plt.legend(['城镇人口','乡村人口'])# plt.xticks(time_x,rotation=45)## plt.show()#=========城乡人口占总人数百分比与人口数柱状图# fig = plt.figure(figsize=(16,20),dpi=80)# fig.add_subplot(2,1,1)# plt.bar(time_x,totle_peo)# plt.bar(time_x,city_peo)# plt.xticks(time_x,rotation=45)# for x,y,z in zip(time_x,city_peo,totle_peo):#     percent = '%.2f%%'%((y/z)*100)#     plt.text(x,y+2000,percent,fontsize=9,ha='center',)# plt.legend(['总人口','城市人口'])## fig.add_subplot(2,1,2)# plt.bar(time_x,totle_peo)# plt.bar(time_x,rural_peo)# plt.xticks(time_x,rotation=45)# for x,y,z in zip(time_x,rural_peo,totle_peo):#     percent = '%.2f%%'%((y/z)*100)#     plt.text(x,y+2000,percent,fontsize=9,ha='center',)## plt.legend(['总人口','乡村人口'])# plt.show()##=========男女人口占总人数百分比与人口数图饼图plt.figure(figsize=(10,10))label = ['男性人口','女性人口']explode = [0.01,0.01]fig = plt.figure(figsize=(10,10),dpi=100)i=1for x, y, t in zip(man_y,female_y,time_x):    fig.add_subplot(4,5,i)    plt.pie([x,y],labels=label,autopct='%1.1f%%',colors=['r','b'],explode=explode)    plt.title('%s'%t)    i+=1plt.show()

最后一个饼图效果:

转载地址:http://wcwsi.baihongyu.com/

你可能感兴趣的文章
(python版)《剑指Offer》JZ02:替换空格
查看>>
JSP/Servlet——MVC设计模式
查看>>
使用JSTL
查看>>
Java 8新特性:Stream API
查看>>
管理用户状态——Cookie与Session
查看>>
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
Spring Boot构建简单的微博应用
查看>>
Spring处理表单提交
查看>>
Spring MVC异常处理
查看>>
Leetcode 1180. Count Substrings with Only One Distinct Letter [Python]
查看>>
PHP 7 的五大新特性
查看>>