Python中matplotlib如何绘制经典的饼图和条形图
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下Python中matplotlib如何绘制经典的饼图和条形图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2025年11月08日Python中matplotlib如何绘制经典的饼图和条形图
小编给大家分享一下Python中matplotlib如何绘制经典的饼图和条形图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
matplotlib是基于numpy的一套Python工具包。这个包提供了丰富的数据绘图工具,主要用于绘制一些统计图形。你可以找到很多各式各样的 例子:
通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象。实际上,早在一百多年前, 南丁格尔就曾经用统计图形来说服英国政府,以改善军队的卫生状况。
我们将以GDP数据为例子,看看如何绘制经典的饼图和条形图。
数据
下面是我们要使用的数据,为2011年GDP前十的国家以及其具体的GDP:
USA 15094025China 11299967India 4457784Japan 4440376Germany 3099080Russia 2383402Brazil 2293954UK 2260803France 2217900Italy 1846950
饼图
我们先来绘制饼图 (pie plot)。饼图适用于表达各个国家GDP所占的百分比。每一小块的面积代表了占比的多少:

具体代码如下,可以看到我们主要使用了matplotlib.pyplot工具包:
# Make a pie chart# This script is written by Vamei, http://www.cnblogs.com/vamei# you may freely use it.import matplotlib.pyplot as plt# quants: GDP# labels: country namelabels = []quants = []# Read datafor line in file('../data/major_country_gdp'): info = line.split() labels.append(info[0]) quants.append(float(info[1]))# make a square figureplt.figure(1, figsize=(6,6))# For China, make the piece explode a bitdef explode(label, target='China'): if label == target: return 0.1 else: return 0expl = map(explode,labels)# Colors used. Recycle if not enough.colors = ["pink","coral","yellow","orange"]# Pie Plot# autopct: format of "percent" string;plt.pie(quants, explode=expl, colors=colors, labels=labels, autopct='%1.1f%%',pctdistance=0.8, shadow=True)plt.title('Top 10 GDP Countries', bbox={'facecolor':'0.8', 'pad':5})plt.show()条形图
下面我们尝试一下条形图(bar plot)。用每个长条的高度代表每个国家的GDP,长条越高,GDP值越高:
代码如下:
"""Make a pie chartThis script is written by Vamei, http://www.cnblogs.com/vameiyou may freely use it."""import matplotlib.pyplot as pltimport numpy as np# quants: GDP# labels: country namelabels = []quants = []# Read datafor line in file('../data/major_country_gdp'): info = line.split() labels.append(info[0]) quants.append(float(info[1]))width = 0.4ind = np.linspace(0.5,9.5,10)# make a square figurefig = plt.figure(1, figsize=(12,6))ax = fig.add_subplot(111)# Bar Plotax.bar(ind-width/2,quants,width,color='coral')# Set the ticks on x-axisax.set_xticks(ind)ax.set_xticklabels(labels)# labelsax.set_xlabel('Country')ax.set_ylabel('GDP (Billion US dollar)')# titleax.set_title('Top 10 GDP Countries', bbox={'facecolor':'0.8', 'pad':5})plt.show()该代码中我们利用了ax对象,以便控制刻度以及刻度所对应的国家名。这与我们在pie plot所做的有些不同(pie plot也可以这样实现,只是没有必要而已)。
以上是"Python中matplotlib如何绘制经典的饼图和条形图"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
条形
数据
国家
经典
代码
工具
篇文章
代表
例子
内容
刻度
图形
工具包
长条
绘图
统计
不同
卫生
必要
枯燥
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河南省食蚁兽网络技术
快递点部数据库数据
深德软件开发
互联网金融科技2017
软件开发专业论文答辩自述
东莞通信软件开发费用
幼儿园网络安全主题活动记录
数据库如何应用索引
网络技术群名字
宁晋寻梦网络技术有限公司
下架服务器
幻塔ios有哪些服务器
网络安全辩论赛正方辩词
服务器渠道商排名
邯郸大数据软件开发服务
微信网络安全法是什么意思
tp框架的数据库配置
上海载涯互联网科技有限公司
东莞卫星软件开发供应商家
数据库中字段属性C
进口以太网串口服务器
软件开发gb
广西软件开发设施标准
app 软件开发外包项目
服务器频繁重启
国产数据库排名 瀚高
网络安全对生活的重要性
正是因为网络技术和
新闻媒体网络安全管理办法
北京迅思互联网科技有限公司