当前位置: 首页 > news >正文

Python中matplotlib库的使用1

1 matplotlib库简介

matplotlib是一个数学绘图库,可以将数据通过图形的方式显示出来,也就是数据可视化。

2 matplotlib库的安装

2.1 打开cmd窗口

点击键盘的“Win”+“R”键,在弹出的“运行”对话框的“打开”栏中输入“cmd”,之后点击“确定”按键,打开cmd窗口,如图1所示。

图1 打开cmd窗口

2.2 通过pip install指令安装

在cmd窗口的命令行中使用pip intall指令安装matplotlib库,如图2所示。

图2 安装matplotlib库

2.3 通过pip list指令查看

最后,在cmd窗口中通过pip list指令查看matplotlib是否安装成功,如图3所示。

图3 查看matplotlib库是否安装成功

3 通过matplotlib库简单画线

通过matplotlib库画线的代码如图4所示。

图4 通过matplotlib库画线的代码

其中,第1行代码通过import...as语句将matplotlib库中的pyplot模块导入并命名为plt,第2行代码定义了一个包含5个元素的列表,该列表即为要通过画线来表示的数据;第3行代码调用pyplot模块中的plot()方法进行画图,该方法的参数即为对应的数据;第4行代码调用pyplot模块的show()方法显示画出来的数据图。以上代码运行的效果如图5所示。

图5 简单折线图

从图5中可以看出,画出来的折线图的横坐标表示列表squares的索引值,纵坐标表示该索引值对应的元素值。

4 折线图的美化

可以通过代码实现图5简单折线图的美化。

4.1 设置折线的粗细

通过pyplot模块中的plot()方法,可以设置折线的粗细程度,代码如图6所示。

图6 设置折线的粗细

plot()方法的第一个参数表示所画折线对应的数据,linewidth参数表示折线的粗细,将该参数设置为10的效果如图7所示。

图7 设置了粗细程度的折线图

4.2 设置图的标题以及横纵坐标的标签

通过图8所示的代码可以设置折线图的标题以及横纵坐标的标签。

图8 设置图的标题以及横纵坐标的标签

其中,第3行中title()方法的作用是设置图的标题,该方法的第一个参数表示标题内容,fontsize参数表示显示内容字体的大小,fontproperties指定了显示内容使用的字体,“SimHei”表示黑体,“SimSun”表示宋体;第4行的xlabel()和第5行的ylabel()方法的作用分别是设置横坐标的标签和纵坐标的标签,这两个方法的参数与title()方法的参数作用相同。设置之后的折线图如图9所示。

图9 设置了标题以及横纵坐标的标签的折线图

注意1 以上3行代码的位置可以在plot()方法之前,也可以在plot()方法之后,但是一定要在show()方法之前。

4.3 设置横纵坐标轴的外观

通过pyplot模块中的tick_params()方法,可以设置横纵坐标轴的外观,代码如图10所示。

图10 设置横纵坐标轴的外观

其中,tick_params()方法的axis参数指定了设置横坐标的外观还是设置纵坐标的外观,该参数值是both时,表示两个坐标外观都设置;labelsize参数表示坐标轴刻度的大小;colors表示坐标轴刻度的颜色,‘r’表示红色。设置之后的折线图如图11所示。

图11 设置了横纵坐标轴外观的折线图

注意2 以上提到的matplotlib库的pyplot模块中的title()、xlabel()、ylabel()和tick_params()还有一些控制折线图其他外观的参数,本文并没有完全介绍。

相关文章:

  • 《Spring Cloud学习笔记:微服务保护Sentinel + JMeter快速入门》
  • 【面试题】HTTP 协议中 URI 和 URL 的区别
  • linux基于用户身份对资源访问进行控制的解析及过程
  • RabbitMQ 和 Kafka 对比
  • FPGA - 231227 - 5CSEMA5F31C6 - 电子万年历
  • GoLang学习之路,对Elasticsearch的使用,一文足以(包括泛型使用思想)(二)
  • redis,memcached,nginx网络组件,网络编程——reactor的应用
  • 原生js浪费性能吗?
  • 虚函数的讲解
  • 华清远见嵌入式学习——ARM——作业4
  • 如何通过 useMemo 和 useCallback 提升你的 React 应用性能
  • Python和Java的优缺点
  • Properties
  • 81 使用DFS和BFS解机器人的运动范围
  • 机器学习系列--R语言随机森林进行生存分析(1)
  • [iOS]Core Data浅析一 -- 启用Core Data
  • avalon2.2的VM生成过程
  • express如何解决request entity too large问题
  • Javascript设计模式学习之Observer(观察者)模式
  • LintCode 31. partitionArray 数组划分
  • Python_OOP
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue-router的history模式发布配置
  • Zsh 开发指南(第十四篇 文件读写)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 我从编程教室毕业
  • 智能网联汽车信息安全
  • ​比特币大跌的 2 个原因
  • !!Dom4j 学习笔记
  • # Maven错误Error executing Maven
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #pragma 指令
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (52)只出现一次的数字III
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (力扣题库)跳跃游戏II(c++)
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .equals()到底是什么意思?
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Core Web APi类库如何内嵌运行?
  • .NET gRPC 和RESTful简单对比
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET微信公众号开发-2.0创建自定义菜单
  • ::前边啥也没有
  • [ IO.File ] FileSystemWatcher
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [20190401]关于semtimedop函数调用.txt
  • [Android]创建TabBar
  • [C++进阶篇]STL中vector的使用
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c