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. JQuery的介绍及选择器

    1.什么是JQuery. JavaScript开发的过程中,处理浏览器的兼容很复杂而且很耗时,于是一些封装了这些操作的库应运而生.这些库还会把一些常用的代码进行封装. 把一些常用到的方法写到一个单独的 ...

  2. Flask 教程 第三章:Web表单

    本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中 ...

  3. JS常用标签

    1.由来 JavaScript的出现就是为了解决,不需要将所有的表单数据全部提交到服务器. 2.添加 加载Js代码的三种方式: 第一种:<script></script>标签里 ...

  4. Linux下 vim代码编译器的使用

    首先在命令行模式下输入代码: vim ok.c 创建c文件 如果发现vim没有被安装的话,输入以下代码对vim进行安装: sudo apt install vim 安装完毕之后再输入第一行代码,之后进 ...

  5. 剑指offer 17:合并两个有序链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.   解题思路 链表基础操作考察,难点在于对于输入数据的把握,一定要考虑输入数据的全面性 1.出现 ...

  6. 炫彩字and鼠标爱心

    <!DOCTYPE html> <style type="text/css"> body{ background-color: black; } #zx { ...

  7. VSCode 如何同步设置

    微软新推出的 VSCode 是一款开源.轻量.良心的开发工具,一经问世,迅速受到全球广泛开发者的好评与青睐,威风之下有干掉 Sublime Text 的趋势.然而有不少 VSCode 使用者吐槽其不能 ...

  8. 联邦学习(Federated Learning)

    联邦学习简介        联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...

  9. Java jdom解析xml文件带冒号的属性

    Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...

  10. 【西北师大-2108Java】第三次作业成绩汇总

    [西北师大-2108Java]第三次作业成绩汇总 熟悉PTA平台线上测试环境: 理解用户自定义类的定义: 掌握对象的声明: 学会使用构造函数初始化对象: 使用类属性与方法的使用掌握使用: 掌握pack ...