matplotlib.pyplot 数据可视化

目录

一、简要了解

1.matplotlib 提供了两种绘图接口:

2.matplotlib.pyplot 绘图相关的对象:

二、前提准备

三、绘图的类型

四、实操:

1.线形图:plot()

进阶版:

(1)同一绘图区绘制多图

(2)正余弦曲线图

(3) 多区域绘图

 (4)综合示例

 2.直方图:hist()

3.条形图:bar()

 4.饼图:pie()

 5.散点图:scatter()

6.3D图:from mpl_toolkits.mplt3d import Axes3D 

(1)绘制z=exp(-(x^2+y*^2)/2)的图像

(2)绘制z=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)的图像

7.动态交互图:pyecharts 


一、简要了解

matplotlib 是 Python 的一个2D绘图库,它提供了一套表示图、操作图以及图内部对象处理的一

些函数,借助它可以绘制各种各样的数据图,如线性图、直方图、饼图等。

1.matplotlib 提供了两种绘图接口:

(1)基于 MATLAB 的绘图接口:

它可以自动创建和管理图以及坐标系,主要通过pyplot 库中的函数实现

(2)基于面向对象的绘图接口

注:所有的操作都是在子图上进行的,pyplot 表示当前子图,若没有就创建一个子图。

2.matplotlib.pyplot 绘图相关的对象:

(1)容器类:

图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)

(2)基础类:

线(line)、点(marker)、文本(text)、图例(legend)、网格(grid)、标题(title)

注意:

Python标准库中默认是不包含matplotlib的,需要自己下载和安装。

二、前提准备

若出现上图表示该第三方库已安装

若未出现上述画面,则需要安装:

具体安装方法如下:

命令行安装:pip install matplotlib

想要更具体的了解可看 Excel_wordcloud操作(词云库)这篇博客

注意:

Anaconda与IDLE是两个通道

当jupyter notebook下载了matplotlib这个第三方库,IDLE中可能仍需要下载:

具体哪种情况下还需要下载:可见  numpy_matplotlib (科学计算库和可视化库) 的应用  这篇博客

三、绘图的类型

1、线形图:plot()

 2、直方图:hist()

3、条形图:bar()

4、饼图:pie()

5、散点图:scatter()

6、3D图:from mpl_toolkits.mplt3d import Axes3D

7、动态交互图:pyecharts

四、实操:

首先:导入第三方库

(1)import matplotlib.pyplot as plt :

导入第三方数据可视化库 matplotlib 中的 pyplot 绘图模块,别名为plt

 '  .  ' :表示对象(前者)下面的模块(后者)

(2)import numpy as np:

导入科学计算库,别名为np 

1.线形图:plot()

plot() : 绘制线形图

方法里面的点需要用列表或数组描述(用 [ ] )

如果只有一组数据,默认为y轴的数据 (x坐标默认为0,1,2,。。。)

效果为:

 若有两组数据:

 分别为x和y值,要求x值和y值个数相同 即x轴坐标与y轴坐标要一一对应

ylabel() : Y轴坐标标签

xlabel() : X轴坐标标签

坐标系默认为英文,如果需要显示中文另加说明 

若未进行说明:

效果为:

 

若进行说明 即 设置字体样式(设置完字体样式就可显示中文) 

 使用 rcParams['font.family'] 属性修改字体

效果为:

 axis() : 修改坐标轴取值范围

前面两位为x轴,后面两位为y轴,放在 [ ] 里面 

savefig()  : 保存图

提高版:绘制平行四边形

效果为:

 

plt.axis(' off ') :隐藏坐标轴

效果为:

进阶版:
(1)同一绘图区绘制多图

Numpy 中的arrange()函数创建一个0-9的整数序列

例:

r :表示数据点的颜色

o : 表示数据点的样子 ,表示为实心圆

- :表示数据线的样子,表示为实线(没写就是没有线)

label:图例名称

效果为:

legend() :显示图例   

(2)正余弦曲线图

效果为:


 

(3) 多区域绘图

subplot() :将当前坐标系切割成多个子块

例 subplot( 3 2 2 ) :切割成3行2列,放在第2个区域

效果为:

 (4)综合示例

figure()方法的参数:

num :整数或字符串,可选。如果没有传值,则采用自增值,可通过number 属性访问;如果

传递整数,则会检查是否存在对应的图,存在则直接返回,否则创建新的图;如果传的是字符串,则设

置为窗口的标题

figsize:浮点型元组,可选。图的宽、高值,单位为英寸,默认为[6.4,4.8] 

效果为:

 2.直方图:hist()

NumPy 生成随机数的常用方法:

np.random.rand(4,5) :随机生成4行5列数组,每个元素都是[0,1)之间的小数

np.random.randint (a,b, (3,4)) :随机生成3行4列数组,每个元素都是[a,b)之间的整数

np.random.randn(4,5) :随机生成4行5列数组,元素的值符合标准正态分布

pyplot 使用 hist()函数绘制直方图,并以元组形式返回直方图的计算结果,包括各区间中元素的数

量、区间的取值范围,以及具体的每个区间对象。hist()函数的语法格式如下:

hist (x, bins=None, range=None, density=False, weights= None, cumulative=False,bottom=None,

histtype='bar', align='mid', orientation= 'vertical',**xkwargs)

bins :

整数、序列或字符串。整数表示等宽区间的个数,自动计算区间范围;序列表示区间的范围,范围

为左闭右开;字符串则表示对应的策略,默认为hist.bins

效果为:

3.条形图:bar()

bar()函数的参数含义:

X:X轴的位置序列,即条形的起始位置

height:Y轴的数值序列,即条形图的高度,需展示的数据

width:每个条形的宽度,可选,默认为 0.8

效果为:


 

 4.饼图:pie()

autopct : 设置饼图内每块百分比显示样式,可以使用format 字符串或者格式化函数

" % width. Precision f %% " :指定饼图内百分比的数字显示宽度和小数的位数

radius : 设置饼图的半径

shadow : 是否有阴影效果,默认为 False

labeldistance :每块旁边的文本标签到饼的中心点的距离 

效果为:

 5.散点图:scatter()

scatter()函数的参数含义:

x: 散点图中点的X轴坐标

y: 散点图中点的Y轴坐标

效果为:

6.3D图:from mpl_toolkits.mplt3d import Axes3D 

(1)绘制z=exp(-(x^2+y*^2)/2)的图像

效果为:

(2)绘制z=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)的图像

效果为:

 

7.动态交互图:pyecharts 

注:

Python标准库中默认是不包含 pyecharts 的,需要自己下载和安装。

具体安装方法如下:

命令行安装:pip install pyecharts

想要更具体的了解可看 Excel_wordcloud操作(词云库)这篇博客

效果为:

  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值