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. ASP.NET Core框架深度学习(一) Hello World

    对于学习Core的框架,对我帮助最大的一篇文章是Artech的<200行代码,7个对象——让你了解ASP.NET Core框架的本质>,最近我又重新阅读了一遍该文.本系列文章就是结合我的阅 ...

  2. 骚操作!曾经爱过!用 Python 清理收藏夹里已失效的网站

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 小詹&有乔木 PS:如有需要Python学习资料的小伙伴可 ...

  3. Winform中怎样获取项目图片资源并转换为Image对象

    场景 DevExpress的TreeList怎样给树节点设置图标: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10274554 ...

  4. sed文本处理

    1.基本概述 sed是一个流编辑器, 非交互式的编辑器,它一次处理一行内容. 处理时,把当前处理的行存储在临时缓冲区中,称* 为"模式空间"(pattern space) 接着用 ...

  5. Python之dict(或对象)与json之间转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...

  6. 使用Fiddler进行HTTP流量分析

    - 安装 Fiddler是一款免费软件,可以到其官网下载,地址是https://www.telerik.com/fiddler,也可以从我的网盘中下载,发送"fiddler"获取下 ...

  7. [20190510]rman备份的疑问7.txt

    [20190510]rman备份的疑问7.txt --//上午测试rman备份时备份文件大小回缩的测试.链接:--//http://blog.itpub.net/267265/viewspace-26 ...

  8. 3.JavaCC 语法描述文件的格式解析

      JavaCC的语法描述文件格式如下所示: options { JavaCC的选项 } PARSER_BEGIN(解析器类名) package 包名; import 库名; public class ...

  9. PyCharm彻底删除项目

    直接删除源文件,删不干净,会留下一些文件 1.点击File,选择Close Project 2.关闭项目之后,会弹出一个选择项目的界面,点击你想要删除的项目右边的叉 3.然后找到该项目所在的路径,选中 ...

  10. c++ 多态的内幕

    c++ 多态,就是利用了一个二级指针(指针数组),数组里的每个元素都指向了,用virtual修饰的成员函数. 既然提到了指针,那就让我们用内存地址来证明一下吧. 为了证明,我们必须要取到成员函数的首地 ...