Python之列表解析和用matplotlib模块绘制图形

news2024/10/1 3:34:06

  • 列表解析
  • 用matplotlib模块绘制成图形
    • 导入模块
    • numpy阵列
      • 将列表转为阵列
      • arrange函数创建阵列
      • 广播
    • 使用matplotilib将阵列绘制成图

列表解析

列表解析式用紧凑的方式来构造列表。
语法:
[表达式 for循环 条件]
例如:要得到0-20的偶数列表。需要在0-20中循环,判断是不是偶数,是就得到这个数。用常规方式:

alist=[]
for i in range(21):
	if i%2==0:
		alist.append(i)

如果用列表解析:

alist=[i for i in range(21) if i%2==0]

这种方法也可以用于字符串。
在这里插入图片描述

用matplotlib模块绘制成图形

导入模块

使用 matplotlib 包画图时,我们一般加载里面的 pyplot,并命名为 plt,然后使用 plot 函数画图。

import matplotlib.pyplot as plt

绘制图形时,需要两个列表:x值列表和y值列表。
两个列表的元素个数必须一样,一个y值对应一个x值。

numpy阵列

阵列和列表相似。它是序列数据结构,支持索引和分片,也是可变的数据结构,能响应索引赋值。**阵列和列表最大的区别在于,numpy阵列只能包含相同的数据类型,默认情况下为浮点数类型。**由于有类型限制,因此在阵列上能更有效地进行浮点运算。阵列有许多方法。

需要先导入numpy库

inport numpy as np

将列表转为阵列

**array构造函数能将列表对象作为参数,并将其转换为阵列。列表中的元素只能包含数字。**最终阵列对象的数字必须都是一种类型。如果存在混合类型(浮点数和整数)的情况,会将所有的数字转换成浮点数。显示时,阵列将把字符串“array”作为显示对象的一部分。可以使用numpy的append 函数把元素添加到阵列中。

语法:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称描述
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度

arrange函数创建阵列

和range 函数非常相似,:numpy中的arange 函数生成值的范围。差异在于生成的值不是整数,而是浮点值,并且返回的对象是阵列不是列表。arange有三个参数:开始值(浮点值),结束值(浮点值),和增量(浮点值)

numpy.arange(开始值, 结束值, 增量, 数据类型)

例如:x = np.arange(5) 可以得到阵列[0 1 2 3 4]

广播

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。

如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。

a = np.array([1,2,3,4]) 
b = np.array([10,20,30,40]) 
c = a * b 

以上c会得到[10 40 90 160]
更多内容看这个https://www.runoob.com/numpy/numpy-broadcast.html

使用matplotilib将阵列绘制成图

plot() 函数是绘制二维图形的最基本函数。
plot() 用于画图它可以绘制点和线,语法格式如下:

#画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
#画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)

  • x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。

  • fmt:可选,定义基本格式(如颜色、标记和线条样式)。

  • **kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。

  • 颜色字符:‘b’ 蓝色,‘m’ 洋红色,‘g’ 绿色,‘y’ 黄色,‘r’ 红色,‘k’ 黑色,‘w’ 白色,‘c’ 青绿色,‘#008000’ RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色。

  • 线型参数:‘‐’ 实线,‘‐‐’ 破折线,‘‐.’ 点划线,‘:’ 虚线。

  • 标记字符:‘.’ 点标记,‘,’ 像素标记(极小点),‘o’ 实心圈标记,‘v’ 倒三角标记,‘^’ 上三角标记,‘>’ 右三角标记,‘<’ 左三角标记…等等。

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints)
plt.show()

在这里插入图片描述

更多案例可以看这个https://www.runoob.com/matplotlib/matplotlib-pyplot.html

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

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

相关文章

CyberScraper-2077+simple-one-api:使用大模型爬虫

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 swift与Internvl下的多模态大模型分布式微调指南&#xff08;附代码和数据&#xff…

IT6113: 高速MIPI DSI 4通道转8通道转接芯片资料

1、产品概述&#xff1a; 芯片将 SOC输出的4通道高速 Mipi DSI 视频转换为8通道半速 DSI 显示器&#xff0c;用于平板电脑、智能手机、笔记本电脑、 VR、智能手表等应用&#xff0c;分割器模式也可用。 2、产品说明 &#xff1a; IT6113 MIPI DSI 视频桥是一个4通道进、8通道出…

2024安卓iOS免签封装源码/解决APP误报毒/可打包和上传APP/自动实现5分钟随机更换签名

源码简介&#xff1a; 2024全新安卓iOS免签封装源码&#xff0c;它可处理apk报毒&#xff0c;解决APP误报毒。不仅可打包APP&#xff0c;也可上传APK。自动实现5分钟随机更换包名和签名系统源码。 解决app误报毒&#xff0c;可打包APP可上传APK&#xff0c;并且自动实现5分钟…

ShardingSphere导致的NPE

1. 项目背景 工程内使用shardingsphere支持分库分表&#xff0c;上层使用的MybatisPlus&#xff0c;有一张表的操作总是报NullPointException。 2. 异常堆栈 ### SQL: INSERT INTO t_tg_message ( update_id, from_id, from_user_name, chat_id, type, data, text, create_…

领夹麦克风哪个品牌音质最好?一文揭秘国内最好的麦克风品牌

在数字化直播与Vlog盛行的今天&#xff0c;无线领夹麦克风凭借其便捷性与高音质&#xff0c;成为了内容创作者们的必备好物。但随着市场的迅速扩张&#xff0c;无线领夹麦克风领域也悄然滋生了一系列乱象。品牌众多&#xff0c;质量却良莠不齐&#xff0c;消费者稍有不慎便可能…

Ollama是什么?安装部署指南

Ollama是什么&#xff1f; 一个本地部署运行大模型的工具&#xff0c;一行命令一键启动&#xff0c;支持linux、windows和mac操作系统的安装。 Ollama支撑哪些大模型&#xff1f; 访问&#xff1a;https://ollama.com/library&#xff0c;列表下的大模型&#xff0c;它都支持…

centos7 redis安装+开机启动(6379+6380)

redis安装 步骤1-下载 下载地址&#xff1a;Index of /releases/ 步骤2-安装 Centos安装Redis-CSDN博客 下载包到 /usr/local/redis解压 tar -zxvf redis-7.0.0.tar.gz切路径 /usr/local/redis/redis-7.0.0编译 make切路径 /usr/local/redis/redis-7.0.0/src安装make instal…

Transformer动画讲解 - Softmax函数

Transformer的Softmax函数 Transformer的Softmax函数&#xff1a; 用于将原始注意力分数转换为输入标记的概率分布。这种分布将较高的注意力权重分配给更相关的标记&#xff0c;并将较低的权重分配给不太相关的标记。Transformers通过Softmax在生成输出时&#xff0c;使用注意…

Find My激光笔|苹果Find My技术与激光笔结合,智能防丢,全球定位

激光笔通常用于指示特定的方向或位置。激光笔在教学领域应用广泛。老师可以利用激光笔在教室中远距离展示教学材料上的内容&#xff0c;。在户外活动中&#xff0c;激光笔也发挥着重要作用&#xff0c;发出求救信号或与其他营地建立联系。激光笔还可以用于娱乐和创意表达。 在…

认知杂谈21

今天分享 有人说的一段争议性的话 I I 自在之“坏”&#xff1a;真实自我的绽放 在社交场合中&#xff0c;听到“他不是个好人”这句话可能会让人惊讶&#xff0c;但其实被贴上“坏人”标签的人往往敢于跳出规则框架&#xff0c;展现真实自我。他们不做表面和谐的牺牲品&am…

前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密

&#x1f4ca; 前程无忧搜索接口 JS 逆向&#xff1a;阿里系acw_sc__v2和Sign加密 &#x1f50d; 观察网页加密规律&#xff1a;阿里系acw_sc__v2 在分析前程无忧的搜索接口时&#xff0c;我们首先需要关注网页的加密规律。特别是阿里系的 acw_sc__v2 加密机制。这个加密机制通…

2024世界机器人大会盛大开幕,卓翼飞思携无人智能领域产品集中亮相 !

开放创新 聚享未来&#xff01;万众瞩目的2024世界机器人大会暨博览会于8月21日在北京亦创国际会展中心盛大开幕。大会聚焦机器人技术与产业前沿趋势&#xff0c;展示机器人创新应用赋能千行百业的多元场景&#xff0c;全球顶尖的机器人科学家、行业领袖、创新精英汇聚一堂&…

干货-并发编程提高——线程池-Executor (十三)

Executor 框架&#xff08;java线程基础&#xff09;不仅包括了线程池的管理&#xff0c;还提供了线程工厂、队列以及拒绝策略等&#xff0c;Executor 框架让并发编程变得更加简单。 /** * 用给定的初始参数创建一个新的ThreadPoolExecutor。 */ public ThreadPoolExecutor(in…

[创业之路-141] :产品经理 - NPDP概述

目录 一、产品经理以及主要职责 1.1 概述 1、市场调研与需求分析 2、产品规划与设计 3、项目管理与协调 4、产品推广与销售支持 5、产品运营与维护 6、其他职责 1.2 产品经理与项目经理的职责分工 1.2.1 职责区别 产品经理 项目经理 1.2.2 合作方式 二、什么是NP…

Oracle数据库最新的支持服务年限

根据图示&#xff0c;建议尽快升级到19c或者23ai

各种JOIN的区别

1. Inner Join(Join , 内连接) 功能&#xff1a; 返回两个表中都有的记录信息 也称之为自然连接 inner可以省略&#xff0c;inner join join 图解&#xff1a; 语法&#xff1a; SELECT columns FROM Table_A A INNER JOIN Table_B B ON A.column B.column;结果&#xff…

【Sql Server】使用row_number over方式进行表分页,数据量达到五千多条记录后,查询变慢需要20多秒的解决方案

大家好&#xff0c;我是全栈小5&#xff0c;欢迎来到《小5讲堂》。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言单字段查询…

缓存出海方案

优质博文&#xff1a;IT-BLOG-CN 一、挑战/注意事项 【1】框架组不允许在不同地区部署的独立Redis实例拥有相同的名称&#xff0c;因此不同地区需要使用不用的Redis集群名称。 【2】分布式锁问题&#xff1a; 该场景需要保证key与UCS灰度策略是可以同步的&#xff0c;即同一…

从《黑神话:悟空》爆火看中国游戏行业的崛起

近年来&#xff0c;中国游戏行业经历了前所未有的快速发展与变革&#xff0c;而《黑神话:悟空》的爆火更是成为了这一进程中的标志性事件。这款游戏不仅在国内市场引起了巨大轰动&#xff0c;也在全球范围内赢得了广泛关注与赞誉&#xff0c;其成功背后折射出中国游戏行业在技术…

住宅代理和移动代理的全面比较:提高隐私和效率的最佳选择

近年来随着网络的发展&#xff0c;我们在网络上的行为越来越透明化。网络隐私和数据安全已经成为企业和个人用户不可忽视的一部分&#xff0c;如何提高我们的网络访问安全指数是一个值得商讨的问题。当下&#xff0c;代理技术在提高网络效率方面发挥了重要作用。本文将深入探讨…