绘图: Python matplotlib简介

简介: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   matplotlib是基于numpy的一套Python工具包。这个包提供了丰富的数据绘图工具,主要用于绘制一些统计图形。

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

matplotlib是基于numpy的一套Python工具包。这个包提供了丰富的数据绘图工具,主要用于绘制一些统计图形。你可以找到很多各式各样的例子

 

通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象。实际上,早在一百多年前,南丁格尔就曾经用统计图形来说服英国政府,以改善军队的卫生状况。

我们将以GDP数据为例子,看看如何绘制经典的饼图和条形图。

 

数据

下面是我们要使用的数据,为2011年GDP前十的国家以及其具体的GDP:

USA        15094025
China      11299967
India       4457784
Japan       4440376
Germany     3099080
Russia      2383402
Brazil      2293954
UK          2260803
France      2217900
Italy       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 name
labels   = []
quants   = []
# Read data
for line in file('../data/major_country_gdp'):
    info = line.split()
    labels.append(info[0])
    quants.append(float(info[1]))

# make a square figure
plt.figure(1, figsize=(6,6))

# For China, make the piece explode a bit
def explode(label, target='China'):
    if label == target: return 0.1
    else: return 0
expl = 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 chart
This script is written by Vamei, http://www.cnblogs.com/vamei
you may freely use it.
"""
import matplotlib.pyplot as plt
import numpy as np
# quants: GDP
# labels: country name
labels   = []
quants   = []
# Read data
for line in file('../data/major_country_gdp'):
    info = line.split()
    labels.append(info[0])
    quants.append(float(info[1]))

width = 0.4
ind = np.linspace(0.5,9.5,10)
# make a square figure
fig = plt.figure(1, figsize=(12,6))
ax  = fig.add_subplot(111)
# Bar Plot
ax.bar(ind-width/2,quants,width,color='coral')

# Set the ticks on x-axis
ax.set_xticks(ind)
ax.set_xticklabels(labels)
# labels
ax.set_xlabel('Country')
ax.set_ylabel('GDP (Billion US dollar)')
# title
ax.set_title('Top 10 GDP Countries', bbox={'facecolor':'0.8', 'pad':5})
plt.show()

该代码中我们利用了ax对象,以便控制刻度以及刻度所对应的国家名。这与我们在pie plot所做的有些不同(pie plot也可以这样实现,只是没有必要而已)。

 

从两个图上看,亚洲国家的GDP还是很厉害的。西方的话就是美国一枝独秀了。

 

总结

我们演示了饼图和条性图的绘制方法。matplotlib是一款功能强大的数据绘图工具,非常值得学习。

目录
相关文章
|
6天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
22 2
|
4天前
|
Python
Python MatplotlibDeprecationWarning Matplotlib 3.6 and will be removed two minor releases later
Python MatplotlibDeprecationWarning Matplotlib 3.6 and will be removed two minor releases later
12 3
|
4天前
Matplotlib.pyplot.plot 绘图
Matplotlib.pyplot.plot 绘图
8 1
|
6天前
|
数据可视化 数据挖掘 API
Python数据分析:数据可视化(Matplotlib、Seaborn)
数据可视化是数据分析中不可或缺的一部分,通过将数据以图形的方式展示出来,可以更直观地理解数据的分布和趋势。在Python中,Matplotlib和Seaborn是两个非常流行和强大的数据可视化库。本文将详细介绍这两个库的使用方法,并附上一个综合详细的例子。
|
7天前
|
数据可视化 数据挖掘 开发者
揭秘数据可视化的魔法:如何用Python的Matplotlib库将枯燥数字变成引人入胜的故事,轻松俘获观众的心!
【8月更文挑战第12天】在数据科学中,将复杂数据转化为直观图形至关重要。Python凭借其强大的库支持,在数据可视化方面表现卓越,其中Matplotlib更是佼佼者。它功能全面且易于使用,已成为Python数据可视化的标配。通过简单命令即可安装Matplotlib。示例中,我们展示了如何绘制基本线图、散点图及多数据集对比图,并介绍了如何添加标题、标签和图例等元素。Matplotlib还支持丰富的图表定制选项,如颜色、线型等,帮助用户创建专业级图表。无论是数据分析还是结果展示,掌握Matplotlib都能显著提升数据表达能力。
|
19天前
|
存储 数据可视化 Python
Python中的数据可视化:使用Matplotlib和Pandas探索数据
【7月更文挑战第31天】 在数据科学的世界里,可视化是理解复杂数据集的关键。本文将引导你通过Python的Matplotlib库和Pandas库来揭示数据背后的故事。我们将一起构建图表,从简单的线图到复杂的热图,每一步都将用代码示例来丰富你的理解。文章不仅仅是展示如何绘制图表,更是一次深入探索数据结构和模式的旅程。
40 8
|
22天前
|
数据采集 Java C语言
Python面向对象的高级动态可解释型脚本语言简介
Python是一种面向对象的高级动态可解释型脚本语言。
17 3
|
26天前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
41 7
|
25天前
|
数据可视化 数据挖掘 Python
|
26天前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
【7月更文挑战第24天】在数据驱动时代,分析师穿梭数字海洋揭示故事,数据可视化如魔法棒般将复杂数据转化成直观图形。Matplotlib与Seaborn成为黄金搭档:前者作为基础绘图库提供高度定制化选项;后者在其上构建,简化复杂图表绘制并增强美观度。两者结合,助力分析师高效完成任务。
22 6