matplotlib入门实战全教程

Abstract:matplotlib入门实战全教程,教你如何绘制条形图、饼图、箱线图,附代码和相关学习资料。

1.MATPLOTLIB

Matplotlib的设计理念是能够用轻松简单的方式生成强大的可视化效果,是Python学习过程中核心库之一。

  • 用在python中绘制数组的2D图形库

  • matplotlib代码在概念上分为3个部分:

    • 1.pylab接口是由matplotlib.pylab提供的函数集,允许用户使用非常类似于MATLAB图生成代码的代码创建绘图

    • 2.matplotlib前端或API是一组重要的类,可创建和管理图形,文本,线条,图表等(艺术家教程),是一个对输出无所了解的抽象接口

    • 3.后端是设备相关的绘图设备,也称为渲染器,将前端表示转换为打印件或显示设备;后端示例:PS 创建 PostScript® 打印件,SVG 创建可缩放矢量图形打印件,Agg 使用 Matplotlib 附带的高质量反颗粒几何库创建 PNG 输出,GTK 在 Gtk+ 应用程序中嵌入 Matplotlib,GTKAgg 使用反颗粒渲染器创建图形并将其嵌入到 Gtk+ 应用程序中,以及用于 PDFWxWidgetsTkinter

2.绘制条形图(BAR CHART)

条形图实际上是用来表示分组(或离散)变量的可视化,可以使用matplotlib模块中的bar函数完成条形图的绘制。

2.1 简单垂直条形图

Example1: 2017世界国家GDP排名(见下图),我们需要用matplotlib绘制展现以下数据的条形图。后端示例:PS 创建 PostScript® 打印件,SVG 创建可缩放矢量图形打印件,Agg 使用 Matplotlib 附带的高质量反颗粒几何库创建 PNG 输出,GTK 在 Gtk+ 应用程序中嵌入 Matplotlib,GTKAgg 使用反颗粒渲染器创建图形并将其嵌入到 Gtk+ 应用程序中,以及用于 PDFWxWidgetsTkinter

  # 导入绘图模块
  import matplotlib.pyplot as plt
  # 构建数据
  GDP = [12406.8,13908.57,9386.87,9143.64]
  
  # 中文乱码的处理
  plt.rcParams['font.sans-serif'] =['Microsoft YaHei']
  plt.rcParams['axes.unicode_minus'] = False
  
  # 绘图
  plt.bar(range(4), GDP, align = 'center',color='steelblue', alpha = 0.8)
  # 添加轴标签
  plt.ylabel('GDP')
  # 添加标题
  plt.title('四个直辖市GDP大比拼')
  # 添加刻度标签
  plt.xticks(range(4),['北京市','上海市','天津市','重庆市'])
  # 设置Y轴的刻度范围
  plt.ylim([5000,15000])
  
  # 为每个条形图添加数值标签
  for x,y in enumerate(GDP):
      plt.text(x,y+100,'%s' %round(y,1),ha='center')
      
  # 显示图形
  plt.show()

以上是绘制图形的代码,运行代码得到的条形图如下:

Example2:2017中国城市GDP排名(见下图),同样我们用matplotlib绘制展现其数据的条形图。

  
  # World GDP Rank
  GDP = [185691, 112182.8, 49386.4, 34666.3]
  plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
  plt.rcParams['axes.unicode_minus'] = False
  plt.bar(range(4), GDP, align='center',color='purple',alpha=0.5)
  plt.ylabel('GDP')
  plt.title('2017 World GDP Rank')
  plt.xticks(range(4), ['USA', 'China', 'Japan', 'Germany'])
  plt.ylim([10000, 200000])
  for x,y in enumerate(GDP):
      plt.text(x,y+100,'%s' %round(y,1),ha='center')
  plt.show()

以上是绘制图形的代码,运行代码得到的条形图如下:

代码解释:

  • rcParams:由于matplotlib对中文的支持并不是很友好,所以需要提前对绘图进行字体的设置,即通过rcParams来设置字体,这里将字体设置为微软雅黑,同时为了避免坐标轴不能正常的显示负号,也需要进行设置;

  • bar函数指定了条形图的x轴、y轴值,设置x轴刻度标签为水平居中,条形图的填充色color为铁蓝色,同时设置透明度alpha为0.8;

  • 添加y轴标签、标题、x轴刻度标签值,为了让条形图显示各柱体之间的差异,将y轴范围设置在5000~15000;

  • 通过循环的方式,添加条形图的数值标签;

2.2 简单水平条形图

Example3:同一本书不同平台最低价比较

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值