python数据可视化散点图案例_12个例子教你玩转python数据可视化(附配套资源)...

原标题:12个例子教你玩转python数据可视化(附配套资源)

导语:今天我们引用Python教育名师董付国老师的一篇文章,针对matplotlib,给大家讲解一下。我们列举12个例子教你玩转python数据可视化。

0ba6d325605d412fa9d4fca74d6d08f0.png

matplotlib简介

Python扩展库matplotlib依赖于扩展库numpy和标准库tkinter,可以绘制多种形式的图形,包括折线图、散点图、饼状图、柱状图、雷达图等,图形质量可以达到出版要求。matplotlib不仅在数据可视化领域有重要的应用,也常用于科学计算可视化。

Python扩展库matplotlib包括pylab、pyplot等绘图模块以及大量用于字体、颜色、图例等图形元素的管理与控制的模块。其中pylab和pyplot模块提供了类似于MATLAB的绘图接口,支持线条样式、字体属性、轴属性以及其他属性的管理和控制,可以使用非常简洁的代码绘制出优美的各种图案。

使用pylab或pyplot绘图的一般过程为:首先读入数据,然后根据实际需要绘制折线图、散点图、柱状图、饼状图、雷达图或三维曲线和曲面,接下来设置轴和图形属性,最后显示或保存绘图结果。

要注意的是,在绘制图形以及设置轴和图形属性时,大多数函数都具有很多可选参数支持个性化设置,而其中很多参数又具有多个可能的值,例如,颜色、散点符号、线型等。本章重点介绍相关函数的用法,并没有给出每个参数的所有可能取值,这些可以通过Python的内置函数help()或者查阅matplotlib官方在线文档https://matplotlib.org/index.html来获知,或者查阅Python安装目录的Libsite-packagesmatplotlib文件夹中的源代码获取更加完整的帮助信息。

19822c533fed48f1aa31890994f1a8ca.png

绘制带有中文标题、标签和图例的折线图

在默认情况下,绘图时是不支持显示中文的,除非明确设置了中文字体。

例15-1绘制带有中文标题、标签和图例的正弦和余弦图像。

基本思路:首先使用Python扩展库numpy生成一个0~2π步长为0.01的数组,计算该数组中数值的正弦值和余弦值,然后使用matplotlib.pylab中的plot()函数绘制折线图。所谓折线图,也就是把所有数据点按顺序依次连接构成的图,如果数据点足够密集,可以实现光滑曲线的效果。

c0c7ecdde71c45c1ac003943ea6beec3.jpeg

643bd6857c4b45aeaa5c1b9b73e589e1.png

绘制散点图

同样一组数据,使用plot()函数可以绘制折线图,而使用scatter()函数则可以绘制散点图,呈现类似于采样的效果。不过一般而言,如果要绘制的数据点呈现出曲线的形状,那么绘制散点图时要使数据点间隔稍大一些,以免因为数据点过于密集而呈现出光滑曲线的效果。另外,散点图也常用于描述数据点的分布情况。

例15-2绘制余弦曲线散点图。

基本思路:使用numpy生成数组以及对应的余弦值数据,然后使用scatter()函数绘制散点图。

b7cf18f2d5714b0fbf03b52773b22765.jpeg

例15-3 设置散点图的线宽、散点符号及大小。

基本思路:在使用scatter()函数绘制散点图时,可以使用参数s指定散点符号的大小,使用参数marker(可能的取值有'o'、'v'、'+'、'*'等)指定散点符号,使用参数linewidths指定线宽。

8172de6497f247e2a4f2e4a0ebb3fffd.jpeg

例15-4绘制大小与位置有关的红色散点五角星。

基本思路:在使用scatter()函数绘制散点图时,可以使用参数s指定散点大小的计算公式,使用参数c指定散点颜色,使用参数marker指定散点符号(将其设置为'*'可以绘制五角星)。

8b501f77e35446898d5704df3877fc12.jpeg

43cf226740c94966919fa814db4334fc.png

绘制饼状图

饼状图适合描述数据的分布,尤其是描述各类数据占比的场合,例如,大型连锁商店各分店营业额分布情况。

例15-5饼状图绘制与属性设置。

基本思路:matplotlib.pyplot提供了用于绘制饼状图的pie()函数,并且支持绘制饼状图时设置标签、颜色、起始角度、绘制方向(顺时针或逆时针)、中心、半径、阴影等各种属性。

ad72e5617dcb4dabba0d4bdb7f59a845.jpeg

图15-5 饼状图效果

3af204f42ec74408b5f02acd5c9f686e.png

绘制柱状图

柱状图常用来描述不同组之间数据的差别。matplotlib提供了用于绘制柱状图的bar()函数,并且提供了大量参数设置柱状图的属性。

例15-6绘制柱状图并设置图形属性和文本标注。

基本思路:在使用bar()函数绘制柱状图时,可以使用color参数设置柱的颜色,使用alpha设置透明度,使用edgecolor参数设置边框颜色,使用linestyle设置边框样式,使用linewidth参数设置边框线宽,使用hatch参数设置柱的内部填充符号。绘制完柱状图之后,使用text()函数在每个柱的顶端指定位置显示对应的数值进行标注。

d2d0cc6f1ef948e5b40185765bf6f2fd.jpeg

6f2f5de7ea8d4d7396147afbd6aab2e7.png

绘制雷达图

雷达图是一种常用的数据可视化与展示技术,可以把多个维度的信息在同一个图上展示出来,使得各项指标一目了然。matplotlib提供了绘制雷达图的技术,本节将通过一个案例进行介绍。

例15-7绘制雷达图。

基本思路:使用matplotlib.pyplot的polar()函数可以绘制雷达图,并通过参数设置雷达图的角度、数据、颜色、线型、端点符号以及线宽等属性。

运行效果如图15-7所示。

08d0645c359942d794d0140641b366fc.jpeg

图15-7 雷达图效果

d7c236a840de472280aaada3fffb06ce.png

绘制三维图形

在进行数据可视化时,有可能需要同时表现多维度的信息。matplotlib也提供了三维图形的绘制功能,本节通过三维曲线、三维曲面和三维柱状图的绘制来演示一下相关的技术。

例15-8 绘制三维曲线。

基本思路:在使用matplotlib.pyplot的plot()函数绘制图形时,如果提供了x、y和z三个坐标轴的数据,则可以绘制三维曲线,不过在此之前需要使用gca(projection='3d')设置三维模式。

9dd4bb5124c742cf8fd1471b4c5840e0.jpeg

例15-9 绘制三维曲面。

基本思路:使用matplotlib.pyplot的subplot(projection='3d')函数调用创建三维图形子图之后,可以使用子图对象的plot_surface()方法绘制三维曲面,并允许设置水平和垂直方向的步长,步长越小则曲面越平滑。

b876d1ffeacc466c998fa9b6e47529d6.jpeg

例15-10绘制三维柱状图。

基本思路:使用matplotlib.pyplot的subplot(projection='3d')函数调用创建三维图形子图之后,可以使用子图对象的bar3d()方法绘制三维柱状图,可以通过参数指定每个柱的x、y、z起始坐标和各轴的宽度、厚度、高度等信息。

31fdbed4a6024cf080da34f7ad68ec50.jpeg

ed097a14b07547c9809d3d8cd72abb41.png

切分绘图区域

在进行数据可视化或科学计算可视化时,经常需要把多个结果绘制到一个窗口中方便比较,这时可以使用本节介绍的技术对绘图区域进行切分,并在不同的区域中绘制相应的图形。

例15-11切分绘图区域并绘制图形。

基本思路:使用pyplot的subplot()函数把绘图区域切分为多个区域,然后在调用plot()函数绘图之前先使用sca()函数选择不同的区域,就可以在相应的区域中进行绘图。

e966fe732dc842fb8bc3e26e3b1487cb.jpeg

9cfe693ea824476aa458320c6a9060ff.png

设置图例

图例用于提供一定的辅助信息,方便用户理解图形。在使用matplotlib绘图时,为绘制的图形设置标签并调用legend()函数即可显示图例。本节中重点介绍设置图例显示公式以及设置图例位置、颜色等属性的方法。

例15-12 设置图例显示公式。

基本思路:在使用plot()函数绘图时,在图形的标签文本字符串前后加上$符号将会使用内嵌的LaTex引擎将其显示为公式。

81d1160634cf432a84049491a8cec0c7.jpeg

例15-13设置图例位置、背景颜色、边框颜色等属性。

基本思路:调用pyplot的legend()函数显示图例时,可以通过为legend()函数传递参数来设置图例的字体、标题、位置、阴影、背景色、边框颜色以及显示列数等属性,定制个性化图例。

034fd0e465e34b96bf8d91af3a4ddc24.jpeg

本书配套资源请移步百度云盘下载

链接: https://pan.baidu.com/s/10cKUflbKJfcz2cXKbZje3g 提取码: h8kg

《Python程序设计基础与应用》

作者:董付国

8a4a355fae6248189b7d6765087849f0.jpeg

知名Python教育者董付国老师新作,

言简意赅,案例丰富,

配套资源超全(包括教学PPT、源码、大纲、教案、习题答案),部分内容全彩呈现。

本书全部代码适用于Python 3.5、Python 3.6以及更高版本。

学用Python,有这一本就够了!

本书在当当、京东、天猫三大平台均有销售返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值