Matplotlib 基础

注:本文中的程序都默认引入了numpy库和matplotlib库,并且分别简写为np与plt;如果读者不知道怎么使用numpy库,可以移步到这一博客上进行简单的学习

一、简单绘图案例

#简单的画图例子
x=np.linspace(0,1,num=200)#横坐标
y1=x**2#纵坐标1
y2=x*3+0.2#纵坐标2
#图片框1
plt.figure(1)
plt.plot(x,y1, label='line1')#绘制曲线
plt.plot(x,y2, linewidth=5, color='coral', linestyle='--', label='line2')#绘制不同风格的曲线
plt.legend()
#图片框2
plt.figure(2)
plt.plot(x,y2)
plt.show()#显示

显示结果:

二、设置坐标轴

#坐标轴设置
x=np.linspace(0,1,num=200)
y1=x**2
#图片框1
plt.figure(1)
plt.plot(x,y1)#绘制曲线
#坐标轴设置
plt.xlim((0,1))#x轴取值范围
plt.ylim((0,1))#y轴取值范围
plt.xlabel('x')#x轴轴标
plt.ylabel('y')#y轴轴标
#x轴ticks设置
new_ticks=np.linspace(0,1,5)
plt.xticks(new_ticks)
#设置绘图坐标轴的位置
axis=plt.gca()#获取当前的坐标轴
axis.spines['left'].set_position(('data', 0.1))#将y轴设置到x轴上为1的位置
axis.spines['bottom'].set_position(('data', 0.5))#将x轴设置到y轴上为1的位置
plt.show()

输出结果:

三、图片标注

#图片标注
x=np.linspace(0,1,num=200)
y1=x**2
plt.figure(1)
plt.plot(x,y1,label='line 1')#绘制曲线,label设置为1
plt.legend()
#设置绘图坐标轴的位置
axis=plt.gca()#获取当前的坐标轴
axis.spines['left'].set_position(('data', 0))#将y轴设置到x轴上为0的位置
axis.spines['bottom'].set_position(('data', 0))#将x轴设置到y轴上为0的位置
#被标注点
x0=0.5
y0=0.5**2
plt.scatter(x0, y0, s=30, color='red')#通过散点图来绘制点
plt.plot([x0,x0],[y0,0], color='black', linestyle='--',linewidth=3)#绘制一条垂直于x轴的虚线
#添加标注
plt.annotate('annotation', [x0+0.1,y0], fontsize=10)#在坐标[x0+0.1,y0]处添加标注
plt.show()

输出结果:

四、设置坐标轴游标字体大小

#操作坐标轴的label
x=np.linspace(0,2,num=200)
y1=x**2
#图片框1
plt.figure(1)
plt.plot(x,y1)#绘制曲线
#坐标轴设置
plt.xlim((0,2))#x轴取值范围
plt.ylim((0,2))#y轴取值范围
ax=plt.gca()#拿到现在的坐标轴
for label in ax.get_xticklabels() +ax.get_yticklabels():
label.set_fontsize(12)#设置坐标轴label的字体大小
plt.show()

输出结果:

五、绘制散点图

# scatter 散点图
x=np.random.normal(0,1,100)
y=np.random.normal(0,1,100)
plt.scatter(x,y, s=50, c='blue',marker='o',alpha=0.6)
plt.show()

六、柱状图

x=np.arange(0,10, step=1)
y=np.arange(0,10, step=1)
plt.bar(x,y, color='red', width=0.3)
#在每一个柱形图上面添加文字标注
for x0,y0 in zip(x,y):
plt.text(x0,y0, '%i'%y0)
plt.show()

输出为:

七、等高线图

#等高线图
x=np.linspace(0,10, 100)
y=np.linspace(0,10, 100)
x_m,y_m=np.meshgrid(x,y)#网格化
z=x_m**2+y_m**2
plt.contourf(x_m, y_m, z, 10, alpha=0.5, cmap=plt.cm.hot)#绘制热图,10代表着高度的分级
c=plt.contour(x_m,y_m, z, 10, colors='black', linewidth=11)#绘制等高线
plt.clabel(c, inline=True, fontsize=10)#为等高线添加标注
plt.show()

八、3D绘图

#3D绘图
from mpl_toolkits.mplot3d import Axes3D
x=np.linspace(0,10, 100)
y=np.linspace(-10,10, 100)
x_m,y_m=np.meshgrid(x,y)#网格化
z=x_m**2+y_m**2
fig=plt.figure()
ax=Axes3D(fig)#为figure添加3D坐标轴
ax.plot_surface(x_m, y_m, z,rstride=5, cstride=5, cmap=plt.cm.hot)#绘制3D的表面, rstide为行跨度,cstride为列跨度
ax.contourf(x_m, y_m, z, zdir='z',offset=6)#offset指的是等高线图与xy平面之间的距离, zdir设置投影方向
plt.show()

九、subplot 绘制多个图

#subplot,绘制子图像
x=np.linspace(0,1,100)
y=x**2 plt.figure()
plt.subplot(2, 2,1)#将figure划分为2*2,在编号为1的位置绘图
plt.plot(x,y) plt.subplot(2, 2,2)#将figure划分为2*2,在编号为2的位置绘图
plt.plot(x,x) plt.subplot(2, 2,3)#将figure划分为2*2,在编号为3的位置绘图
plt.plot(y,y) plt.subplot(2, 2,4)#将figure划分为2*2,在编号为4的位置绘图
plt.plot(y,y) plt.show()

matplotlib基础的更多相关文章

  1. 数据分析与展示——Matplotlib基础绘图函数示例

    Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...

  2. Matplotlib基础图形之散点图

    Matplotlib基础图形之散点图 散点图特点: 1.散点图显示两组数据的值,每个点的坐标位置由变量的值决定 2.由一组不连续的点组成,用于观察两种变量的相关性(正相关,负相关,不相关) 3.例如: ...

  3. Matplotlib基础知识

    Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...

  4. Matplotlib基础使用

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括最小刻度 ...

  5. 模块简介与matplotlib基础

    模块简介与matplotlib基础 1.基本概念 1.1数据分析 对已知的数据进行分析,提取出一些有价值的信息. 1.2数据挖掘 对大量的数据进行分析与挖掘,得到一些未知的,有价值的信息. 1.3数据 ...

  6. [笔记]SciPy、Matplotlib基础操作

    NumPy.SciPy.Matplotlib,Python下机器学习三大利器.上一篇讲了NumPy基础操作,这节讲讲SciPy和Matplotlib.目前接触到的东西不多,以后再遇到些比较常用的再更新 ...

  7. 第二周 数据分析之展示 Matplotlib基础绘图函数实例

    Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...

  8. python数据图形化—— matplotlib 基础应用

    matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...

  9. python画图matplotlib基础笔记

    numpy~~基础计算库,多维数组处理 scipy~~基于numpy,用于数值计算等等,默认调用intel mkl(高度优化的数学库) pandas~~强大的数据框,基于numpy matplotli ...

随机推荐

  1. go-客户信息关系系统

    客户信息关系系统 项目需求分析 1) 模拟实现基于文本界面的< 客户信息管理软件>. 2) 该软件能够实现对客户对象的插入.修改和删除(用切片实现),并能够打印客户明细表 项目的界面设计 ...

  2. springboot服务的一些问题

    一: springboot踩坑记--springboot正常启动但访问404; 1. spring boot的启动类不能直接放在main(src.java.main)这个包下面,把它放在有包的里面就可 ...

  3. 2019年上半年收集到的人工智能GAN干货文章

    2019年上半年收集到的人工智能GAN干货文章 GAN简介及其常见应用 训练GAN,你应该知道的二三事 了解生成对抗网络(GAN) CosmoGAN:训练GAN,让AI寻找宇宙中的暗物质 关于GAN的 ...

  4. mysql-python 安装错误 fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    安装mysql-python之前, 请先安装setuptools. https://pypi.python.org/pypi/setuptools/7.0 下载mysql-python. 下载源码包. ...

  5. JavaScript—字符串(String)用法

    字符串(String)去除空格 str = " hello python " // 去除左空格: str=str.replace( /^\s*/, ''); // 去除右空格: s ...

  6. 解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题

    问题: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话. 在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, ...

  7. __rpm.so: underfined symbol : rpmpkgverifySigs 故障分析

    前言: 近期漏洞修复频繁,各种组件需要升级,经多次碰撞,发现 yum update 来升级组件是最有效最安全的方式(绿盟通过版本比对的扫描结果可以忽略). 然而,各家的设备各家管,一到升级就发现一堆问 ...

  8. ScratchJr是什么,有什么作用

    什么是ScratchJr? ScratchJr是一个入门级的编程语言,可以让5到7岁的小朋友去创建他们的互动故事和游戏.孩子们使用图形化的程序积木让角色移动.跳跃.舞蹈.唱歌.孩子们可以利用绘图编辑器 ...

  9. Onenote添加代码

    使用Onenote做笔记的时候,是没有直接插入代码的,但是如果可以插入的话很方便. 这个是我找的一个参考,照这个来就行. 参考链接: https://www.cnblogs.com/two-peanu ...

  10. 各版本mysql修改root密码

    今天在安装mysql5.7.8的时候遇到一些问题,首当其冲便的是初始root密码的变更,特分享解决方法如下: 1.mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录. shell& ...