Matplotlib库的简单用法

news2024/11/25 4:53:36

Matplotlib库的简单用法

Matplotlib是python科学计算中最基础、最重要的绘图库,是Python中最流行的数据可视化库之一,它提供了大量的绘图函数和工具,可以让用户创建各种类型的图表和图形,一般使用matpltlib完全可以满足我们绘图需求,当然现在也出现了seaborn这样的构建在matplotlib之上绘图库,能够一定程度上简化我们绘图过程。但是它的基础还是matplotlib,所有利用python进行数据分析可视化,学习matplotlib是必须要打的基础。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ALHKimvf-1681693934956)(1524432964-2.gif)]

安装Matplotlib

在使用Matplotlib之前,我们需要先安装它。可以通过pip命令来安装Matplotlib:

pip install matplotlib

如果你使用的是Anaconda环境,也可以通过Anaconda Navigator来安装Matplotlib。

导入Matplotlib

安装完Matplotlib后,我们需要将其导入到Python脚本中:

import matplotlib.pyplot as plt

这行代码会将Matplotlib的pyplot模块导入,并将其重命名为plt。

绘制图形

Matplotlib提供了多种绘图函数,其中常用的有以下几种:

1.折线图:plot()

折线图是一种显示数据变化趋势的类型。我们使用plot()函数来创建折线图,示例代码如下:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
 
plt.plot(x, y)
plt.show()

这个程序会生成一个简单的折线图,其中x轴表示1到5的整数,y轴表示x的平方值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3lCQlrwT-1681693934970)(image-20230416175901961.png)]

除了以上代码,还可以通过format字符串来设置线条颜色和样式,例如’dashed’、‘dotted’、'solid’等。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.plot(x, y, 'r--')
plt.show()

其中’r’表示红色,'–'表示虚线。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hW7PZKVc-1681693934970)(image-20230416180100105.png)]

2.散点图:scatter()

散点图是一种显示两个变量之间关系的类型。我们使用scatter()函数来创建散点图,示例代码如下:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
 
plt.scatter(x, y)
plt.show()

这个程序会生成一个简单的散点图,显示x和y之间的关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d3A21i6M-1681693934972)(image-20230416183653501.png)]

除了以上代码,还可以通过c参数来设置点的颜色,s参数来设置点的大小,alpha参数来设置点的透明度等。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.scatter(x, y, c='red', s=50, alpha=0.5)
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jk1tasmw-1681693934974)(image-20230416192140366.png)]

3.柱状图:bar()

柱状图是一种用于比较不同变量值之间差异的类型。我们使用bar()函数来创建柱状图,示例代码如下:

import matplotlib.pyplot as plt
 
x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]
 
plt.bar(x, y)
plt.show()

这个程序会生成一个简单的柱状图,显示x和y之间的差异。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lz8O6H8b-1681693934975)(image-20230416192227582.png)]

除了以上代码,还可以通过width参数来设置柱子的宽度,color参数来设置颜色等。示例代码如下:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]

plt.bar(x, y, width=0.5, color='red')
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qNz6txDQ-1681693934976)(image-20230416192256681.png)]

4.直方图:hist()

直方图是一种用于展示数据分布情况的类型。我们使用hist()函数来创建直方图,示例代码如下:

import matplotlib.pyplot as plt
 
data = [1, 2, 3, 3, 4, 5, 5, 5, 6, 7]
 
plt.hist(data)
plt.show()

这个程序会生成一个简单的直方图,显示data中数据的分布情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z3yBvAYi-1681693934978)(image-20230416192348914.png)]

5.饼状图:pie()

饼状图是一种用于展示数据占比情况的类型。我们使用pie()函数来创建饼状图,示例代码如下:

import matplotlib.pyplot as plt
 
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
 
plt.pie(sizes, labels=labels)
plt.show()

这个程序会生成一个简单的饼状图,显示不同标签占据的百分比。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGzxFFpO-1681693934981)(image-20230416192753038.png)]

除了以上代码,还可以通过explode参数来突出某些扇形,autopct参数来显示百分比等。示例代码如下:

import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]

explode = (0.1, 0, 0, 0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%')
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Nueq9TN-1681693934984)(image-20230416192816139.png)]

设置图形属性

在绘图时,我们可以通过设置图形属性来调整其外观和样式。

1.图形标题、坐标轴标签:title(), xlabel(), ylabel()

我们可以使用title()函数来添加图形标题,xlabel()函数来添加x轴标签,ylabel()函数来添加y轴标签。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.title('My Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.plot(x, y)
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hbXq3HMR-1681693934986)(image-20230416193035780.png)]

2.图例:legend()

当我们在一个图中绘制多个数据系列时,可以使用legend()函数添加图例。示例代码如下:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]
 
plt.plot(x, y1, label='series1')
plt.plot(x, y2, label='series2')
plt.legend()
plt.show()

这个程序会生成一个带有图例的折线图,其中显示了两个数据系列。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMmvK0ok-1681693934989)(image-20230416192904641.png)]

除了以上代码,还可以通过loc参数来设置图例位置,例如’upper right’、'lower left’等。示例代码如下:

plt.legend(loc='upper right')

3.图形大小:figure()

我们可以使用figure()函数来调整图形大小。示例代码如下:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
 
plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.show()

这个程序会生成一个大小为8x6英寸的折线图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2H9nvhd-1681693934991)(image-20230416192931443.png)]

除了以上代码,还可以通过dpi参数来设置图形分辨率等。

保存图形

最后,我们可以使用savefig()函数将已经创建好的图形保存为图片文件。例如:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
 
plt.plot(x, y)
plt.savefig('myplot.png')

这个程序会生成一个名为myplot.png的PNG图片文件,其中包含了我们所绘制的折线图。

结论

Matplotlib是一个非常强大的数据可视化库,可以让我们轻松地创建各种类型的图表和图形。在本文中,我们介绍了如何安装和导入Matplotlib,并介绍了一些常用的绘图函数和设置图形属性的方法,以及如何将已经创建好的图形保存为图片文件。这些知识可以帮助你更好地使用Matplotlib来实现数据可视化。

在下期将介绍Matplotlib更为详细的用法,敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“成功学大师”杨涛鸣被抓

我是卢松松,点点上面的头像,欢迎关注我哦! 4月15日,号称帮助一百多位草根开上劳斯莱斯,“成功学大师”杨涛鸣机其团队30多人已被刑事拘留,培训课程涉嫌精神传销,警方以诈骗案进行立案调查。 …

基于4412的dm9000驱动移植

1 概述 以太网高速稳定的特性比Wifi无线传输有一定的优势,当无线传输无法满足一些智能设备,需要开发设计以太网模块。Linux支持以太网系统,结合4412开发板,重点学习dm9000驱动的设计与实现。 2 硬件资源分析 2.1 4412开发板以太网…

【Python】Python中的列表,元组,字典

文章目录列表创建列表获取元素修改元素添加元素查找元素删除元素列表拼接遍历列表切片操作元组创建元组元组中的操作字典创建字典添加/修改元素删除元素查找字典的遍历合法的key类型列表 列表是一种批量保存数据的方式,列表使用[]表示 创建列表 创建两个空列表 …

nginx优化及配置

nginx隐藏版本号 查看方法 浏览器F12 看network头部看server curl -i 192.168.232.7 获取头部(查版本号) 配置文件改 添加server_tokens off 改源码 cd /src/core vim nginx.h 修改 修改的IIS为window常用的软件服务 重新编译安装 cd nginx_1.2…

【C++】while 循环应用案例 - 猜数字游戏

目录 1、缘起 2、案例描述 3、代码 4、相关知识点 4.1、rand() 函数 4.2、srand() 函数 5、总结 1、缘起 猜数字游戏是一种简单而又有趣的游戏,在这个游戏中,计算机会生成一个随机数字,玩家需要通过不断猜测来猜出这个数字。在本篇博…

使用docker搭建lnmp环境+redis服务

lnmp搭建过程,前文已经写了传送门,本文主要写一下运行redis容器和php-fpm容器内安装redis扩展 redis 1.创建宿主机配置和数据文件夹 [rootlocalhost ~] mkdir -p /lnmp/redis/{data,conf}2.放置/lnmp/redis/conf/redis.conf文件 点我下载 3.启动容器 …

k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法

最近在学习边缘计算要用到kubeedge,安装了好多次总会遇到各种各样的问题,因此在这里一一列出,以方便下次安装。则里面可能出错的地方太多,如果有问题,请私信联系。 一、环境准备 节点IP环境软件云端节点172.23.70.23…

Python|矿产卫片Excel经纬度坐标数据转换为shp点数据——OGR库实现

1.实验需求 基于Excel表格里面的经纬度坐标数据,自动生成点shp矢量文件,并添加属性信息。 2.编程思路详解 ①使用Pandas库读取原始矿产图斑列表表格; xlsx_path = uC:\\Users\\YaoJun\\Desktop\\矿产图斑列表.xlsx #sheet_name默认为0,即读取第一个sheet的数据 df = pd.…

TPM管理工作应该如何开展?

在制造行业,Total Productive Maintenance(TPM)管理被广泛认为是提高生产效率和设备可靠性的有效方式。然而,实施TPM管理需要深入的专业知识和经验。本文将探讨如何开展TPM管理工作,以确保制造企业的生产效率和设备可靠…

2023-Python实现烯牛数据采集

文章目录👉1、目标网址👉2、接口分析👉3、代码实现【JS 逆向百例】 1/100 学习记录:哈喽~ 前面我们接触了一些JS逆向的数据获取,如果前面的百度,有道翻译和正方教务系统的登录加密你已掌握,说明…

计组2.4——加法器的设计

计组:2.4算术逻辑单元异或门实现奇偶校验的原理串行加法器&&并行加法器并行加法器的优化算术逻辑单元 控制信号: 当M0时表示算术运算 当M1时表示逻辑运算 S0~ S3表示做什么运算,因此ALU可以表示16种算数运算和16种逻辑运算 Ai,Bi代表…

PL-VINS线特征处理部分源码阅读

PL-VINS线特征处理部分源码阅读1 linefeature_tracker2 三角化单目三角化双目三角化3 后端优化线特征状态量重投影误差本文主要阅读PL-VINS中引入线特征的代码实现,包括线特征表示方法(Plcker参数化方法、正交表示法)、前端线特征提取与匹配、…

遥感、GIS及GPS在土壤空间数据分析、适应性评价、制图及土壤普查中的应用

摸清我国当前土壤质量与完善土壤类型,可以为守住耕地红线、保护生态环境、优化农业生产布局、推进农业高质量发展奠定坚实基础,为此,2022年初国务院印发了《关于开展第三次全国土壤普查的通知》,决定自2022年起开展第三次全国土壤…

微信支付,JSAPI支付,APP支付,H5支付,Native支付,小程序支付功能详情以及回调处理

一.支付相关文档地址支付wiki:https://pay.weixin.qq.com/wiki/doc/apiv3/index.shtml支付api: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/index.shtml开发工具包(SDK)下载:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay6_0.shtm…

靶机精讲之CTF4

主机发现 靶机193 端口扫描 服务扫描 80,25(明确版本)攻击面更大 web渗透 blog是交互式的程序 发现index可进行手动爆破(地址包含) http://192.168.10.193/index.html?page../../../../../../../../etc/passwd 无发…

雨水情测报系统+智慧水库大坝安全监测系统

解决方案 雨水情测报系统智慧水库大坝安全监测系统,系统主要由降雨量监测站、水库水位监测站、大坝安全监测中的渗流量、渗流压力和变形监测站及视频和图像监测站等站点组成,同时建立规范、统一的监测平台,集数据传输、信息共享、数据储存于…

Git简单使用~下载、安装、命令行使用、IDEA使用

文章目录一、Git下载二、Git安装三、命令行操作四、IDEA使用gitee4. 查看Gitee仓库一、Git下载 官网下载地址:Git (git-scm.com) 点击"Download for Windows",跳转至详细下载页面。 以Windows64位安装版为例,点击"64-bit…

代码随想录算法训练营第42天| 416. 分割等和子集

代码随想录算法训练营第42天| 416. 分割等和子集416. 分割等和子集416. 分割等和子集 题目链接&#xff1a;416. 分割等和子集&#xff0c;难度&#xff1a;中等 【实现代码】 class Solution { public:bool canPartition(vector<int>& nums) {int sum 0;for (int…

抢鲜发布:Flutter 3.7更新详解

本文首发自「慕课网」(imooc.com)&#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"&#xff01; 作者&#xff1a;CrazyCodeBoy|慕课网讲师 新年伊始&#xff0c;由 Flutter 3.7 正式版来「打头阵」&#xff01;我们与整个…

AI时代,重新理解阿里云

如果说&#xff0c;在数字化时代&#xff0c;阿里云给外界的标签是基于算力、数据等要素的基建角色&#xff0c;那么&#xff0c;在如今的智能化时代&#xff0c;基于自身强大的云计算能力和长期以往的AI技术积累&#xff0c;它的这种底座底色显然再一次被夯实、彰显。 作者|皮…