matplotlib简介

python的matplotlib包可以帮助我们绘制丰富的图表,有助于我们的数据分析。

matplotlib官方文档:matplotlib

本博客所有代码默认导入matplotlib.pyplot和numpy包,即默认有以下代码:

import matplotlib.pyplot as plt
import numpy as np

最基本的x-y函数图象:plt.plot()

以y=sin(x),x=2πt;where t:[0,2]的图象为例

示例代码:

    t=np.arange(0.0,2.0,0.01)#自变量t
    s=np.sin(2*np.pi*t)#计算y
    #####必须语句######
    plt.plot(t,s)#指定x,y

    plt.xlabel(‘t‘)#x轴标签
    plt.ylabel(‘y‘)#y轴标签
    plt.title(r‘image‘)#图象标题
    plt.grid(True)#画网格
    #####必须语句######
    plt.show()#画出图象

直方图:plt.hist()

画直方图最核心的函数为plt.hist(),其主要参数有:

  • x:每个矩形条的高度,list等数组
  • bins:矩形条个数,matplotlib把矩形条称为“箱”

返回值:

  • n:矩形条高度(y轴)
  • bins:矩形条横向位置(x轴)
  • patches:矩形条对象,包含n,bins信息

详见:hist官方文档

以均值mu=100,方差sigma=15的正态分布的函数图像为例

示例代码1:

    import matplotlib.mlab as mlab
    mu=100
    sigma=15
    x=mu+sigma*np.random.randn(10000)#生成矩形条高度

    num_bins=10#矩形条个数
    #####必须语句######
    n,bins,patches=plt.hist(x,num_bins)#传入矩形条高度和个数
    plt.xlabel(‘x‘)
    plt.ylabel(‘y‘)
    plt.title(‘histogram‘)
    #####必须语句######
    plt.show()

示例代码2:

import matplotlib.mlab as mlab
mu=100
sigma=15
x=mu+sigma*np.random.randn(10000)

num_bins=50

#normed=1表示画的是概率密度,和为1;facecolor:矩形条颜色;alpha:色深参数n,bins,patches=plt.hist(x,num_bins,normed=1,facecolor=‘green‘,alpha=0.5)
#画出一条逼近的曲线
y=mlab.normpdf(bins,mu,sigma)
plt.plot(bins,y,‘r--‘)

plt.xlabel(‘x‘)
plt.ylabel(‘y‘)
plt.title(‘histogram‘)
plt.show()

3d离散点ax.scatter()

详见:scatter官方文档

示例代码:

from mpl_toolkits.mplot3d import Axes3D

#x_list为离散点的list,内层list为一个三元组,每一个三元组代表三维空间中的一个点
x_list=[[1,2,3]]
fig=plt.figure()
ax=fig.gca(projection=‘3d‘)#返回坐标轴,projection还可以传入‘polar‘
for x in x_list:#遍历每个点,绘制
    ax.scatter(x[0],x[1],x[2],c=‘r‘)
plt.show()

3d空间曲面ax.plot_surface()

示例代码:

from matplotlib import cm
from matplotlib.ticker import LinearLocator,FormatStrFormatter

fig=plt.figure()
ax=fig.gca(projection=‘3d‘)
X=np.arange(-5,5,0.1)#x坐标
Y=np.arange(-5,5,0.1)#y坐标
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2+Y**2)
Z=np.sin(R)#计算出z坐标
#画表面:x,y,z坐标,rstride:横向步长,cstride:纵向步长,cmap:颜色,linewidth:线宽,antialiased:是否渐变
surf=ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=cm.coolwarm,linewidth=0,antialiased=False)

ax.set_zlim(-1.01,1.01)#坐标系的下边界和上边界
ax.zaxis.set_major_locator(LinearLocator(10))#设置Z轴标度
ax.zaxis.set_major_formatter(FormatStrFormatter(‘%.02f‘))#Z轴精度
#shrink颜色条伸缩比例(0-1),aspect颜色条宽度(反比例,数值越大宽度越窄)
fig.colorbar(surf,shrink=0.5,aspect=5)

plt.show()

饼形图plt.pie()

示例代码1:

labels=‘Frogs‘,‘Hogs‘,‘Dogs‘,‘Logs‘#设置标签
size=[15,30,45,10]#占比,和为100
colors=[‘yellow‘,‘gold‘,‘lightskyblue‘,‘lightcoral‘]#颜色
#展开第二个扇形,即Hogs,间距为0.1.注意explode传入的是一个tuple,哪个位置不为0,哪个对应的标签被展开,且不为0的数值就是展开的间距值
explode=(0,0.1,0,0)

#startangle控制饼状图的旋转方向
plt.pie(size,explode=explode,labels=labels,colors=colors,shadow=True,startangle=90)
plt.show()

示例代码2:

labels=‘Frogs‘,‘Hogs‘,‘Dogs‘,‘Logs‘
size=[15,30,45,10]
colors=[‘yellow‘,‘gold‘,‘lightskyblue‘,‘lightcoral‘]
explode=(0,0,0.1,0)#展开Dogs,间距值0.1

#autopct参数表示显示百分比,且决定了百分比的格式
plt.pie(size,explode=explode,labels=labels,colors=colors,shadow=True,autopct=‘%1.1f%%‘,startangle=90)
plt.show()

原文地址:https://www.cnblogs.com/mengnan/p/9307658.html

时间: 2024-10-18 17:47:05

matplotlib简介的相关文章

Python画图工具matplotlib的使用(图形并茂)

matplotlib官网文档: http://matplotlib.org/gallery.html 支持win7_64_bit的matplotlib库下载网址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib 简介: matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且 Gallery页

Matplotlib 简单画图

0.Matplotlib -- 简介.note 官网:http://matplotlib.org/ 1.Matplotlib -- 绘制多项式函数.note #-*- coding:utf-8 -*- #绘制多项式函数 import numpy as np import matplotlib.pyplot as plt #以自然数序列作为多项式的系数,使用polyld函数创建多项式 func = np.poly1d(np.array([1,2,3,4]).astype(float)) print

Python - matplotlib 数据可视化

在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进行数据分析>以及网上一些博客的总结. 1  matplotlib简介 matplotlib是Pythom可视化程序库的泰斗,经过几十年它仍然是Python使用者最常用的画图库.有许多别的程序库都是建立在它的基础上或直接调用它,比如pandas和seaborn就是matplotlib的外包, 它们让你使用

图表绘制工具--Matplotlib

''' [课程3.1] Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表库 ''' import numpy as np import pandas as pd import matplotlib.pyplot as plt # 图表窗口1 → plt.show() plt.plot(np.random.rand(10)) plt.show() #

Matplotlib模块 |图表绘制工具

1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表库 https://matplotlib.org/api/pyplot_api.html import numpy as np import pandas as pd import matplotlib.pyplot as plt # 图表窗口1 → plt.show() plt.plot(np.r

Python3快速入门(十六)——Matplotlib绘图

Python3快速入门(十六)--Matplotlib绘图 一.Matplotlib简介 1.Matplotlib简介 Matplotlib是 Python 2D-绘图领域使用最广泛的套件,可以简易地将数据图形化,并且提供多样化的输出格式.matplotlib有两个接口,一个是状态机层的接口,通过pyplot模块来进行管理:一个是面向对象的接口,通过pylab模块将所有的功能函数全部导入其单独的命名空间内. 2.Matplotlib安装 使用conda安装如下:conda install mat

数据科学

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 数据科学最近成为计算机的热门领域.数据科学是利用计算机的运算能力对数据进行处理,从数据中提取信息,进而形成"知识".它已经影响了计算机视觉.信号处理.自然语言识别等计算机分支.数据科学已经在IT.金融.医学.自动驾驶等领域得到广泛使用.(如果你熟知中情局的棱镜泄密事件,你会发现数据科学已经在情报领域广泛使用.) 在这系列文章中,我希望能完成从概率论,统计,到机器学习的整

python基本图像操作

Python基本图像操作 使用python进行基本的图像操作与处理 前言: 与早期计算机视觉领域多数程序都是由 C/C++ 写就的情形不同.随着计算机硬件速度越来越快,研究者在考虑选择实现算法语言的时候会更多地考虑编写代码的效率和易用性,而不是像早年那样把算法的执行效率放在首位.这直接导致近年来越来越多的研究者选择 Python 来实现算法. 今天在计算机视觉领域,越来越多的研究者使用 Python 开展研究,所以有必要去学习一下十分易用的python在图像处理领域的使用,这篇博客将会介绍如何使

python机器学习必读书籍:机器学习系统设计

所属网站分类: 资源下载 > python电子书 作者:从新来过 链接: http://www.pythonheidong.com/blog/article/441/ 来源:python黑洞网 www.pythonheidong.com 内容简介 如今,机器学习正在互联网上下掀起热潮,而Python则是非常适合开发机器学习系统的一门优秀语言.作为动态语言,它支持快速探索和实验,并且针对Python的机器学习算法库的数量也与日俱增.本书最大的特色,就是结合实例分析教会读者如何通过机器学习解决实际问