Matplotlib的几个典型绘制实验
➤01 不同线性绘制
x = arange(0, 3.0, 0.1)
plt.plot(x, sin(x), 'r--', x, x*2, 'c1', x, x**2, 'b+')
▲ 几款不同绘制线型结果
在MATPLOTLIB中对于绘制曲线的颜色定义参见: MATPLOTLIB中的颜色定义
▲ MATPLOTLIB中的颜色定义
➤02 多图绘制
x1 = arange(0.1, a, 0.1)
x2 = arange(0.1, a, 0.05)plt.subplot(211)
plt.plot(x1, f1(x1), 'go', x2, f2(x2), 'k')
plt.grid(True)plt.subplot(212)
plt.scatter(x2, f2(x2))plt.grid(True)
▲ 多图绘制演示
➤03 绘制散点图示意图
random.seed(int(time.time()))N = 100
x = random.rand(N)
y = 10 * x**2 + random.rand(N) * acolors = random.rand(N)
areas = (20 * random.rand(N)) ** 2plt.clf()
plt.scatter(x, y, s=areas, c=colors, alpha=0.5)
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.tight_layout()
▲ 散点图示例
➤04 五个优雅的NumPy库函数
在五个优雅的Numpy函数 中Baijayyanta Roy介绍了几个Numpy中用于机器学习和数据科学工程的函数。
1.reshape()中的-1参数
Numpy 允许我们根据给定的新形状重塑矩阵,新形状应该和原形状兼容。有意思的是,我们可以将新形状中的一个参数赋值为-1。这仅仅表明它是一个未知的维度,我们希望 Numpy 来算出这个未知的维度应该是多少:Numpy 将通过查看数组的长度和剩余维度来确保它满足上述标准。让我们来看以下例子:
▲ reshape函数使用-1参数的效果
2.argpartion()
Numpy 的 argpartion 函数可以高效地找到 N 个最大值的索引并返回 N 个值。在给出索引后,我们可以根据需要进行值排序。
▲ argpartion在数组中寻找最大的N个元素
比如获得结果中最大的两个数值所对应的索引:
AA = argpartition(A,-2)[-2:]
- 举例:
A = random.rand(10)
printff('A=',A)AA = argpartition(A,-2)[-2:]
printff('AA=',AA)
printff('A[AA]=',A[AA])
A= [0.96815066 0.83087994 0.23400677 0.8570243 0.19535788 0.19072486 0.66225419 0.8177829 0.45656971 0.95308762]
AA= [9 0]
A[AA]= [0.95308762 0.96815066]
下面是使用sort(), argsort()达到同样功能的示例。不过,使用argpartition的效率比sort的效率高。
A = random.rand(10)
printf(A)AA = argsort(A)
printf(AA)
printf(A[AA])
A = [0.72849843 0.79820074 0.96036724 0.22006177 0.2128844 0.31795377 0.36778209 0.03589072 0.1460506 0.67651717]
argsort = [7 8 4 3 5 6 9 0 1 2]
A[AA]= [0.03589072 0.1460506 0.2128844 0.22006177 0.31795377 0.36778209 0.67651717 0.72849843 0.79820074 0.96036724]
3.clip()函数:
在很多数据处理和算法中(比如强化学习中的 PPO),我们需要使得所有的值保持在一个上下限区间内。Numpy 内置的 Clip 函数可以解决这个问题。Numpy clip () 函数用于对数组中的值进行限制。给定一个区间范围,区间范围外的值将被截断到区间的边界上。例如,如果指定的区间是 [-1,1],小于-1 的值将变为-1,而大于 1 的值将变为 1。
▲ 限制数组中的最小值为2,最大值为6
4. extract:寻找数组中符合条件的元素
我们可以使用 Numpy extract () 函数从数组中提取符合条件的特定元素。
5.setdiff1d()
返回数组中不在另一个数组中的独有元素。这等价于两个数组元素集合的差集。
原文链接:https://towardsdatascience.com/5-smart-python-numpy-functions-dfd1072d2cb4
Matplotlib的几个典型绘制实验相关推荐
- qmlcanvas绘制3d图形_透视Matplotlib核心功能和工具包 - 绘制3D图形
关联知识 Matplotlib Python 线图 在此,我们将学习如何创建3D线图. 它类似于2D等效折线图,并且2D折线图的许多属性都结转到3D. 我们将在相同的轴上绘制凹凸曲线,并从不同角度查看 ...
- Matplotlib 中等高线图(contour)的绘制
Matplotlib 中等高线图(contour)的绘制 今天学习了matplotlib中的高线图的绘制,下面分享一下Matplotlib 中等高线图(contour)的绘制的步骤: 数据初始化 # ...
- 10【matplotlib常用统计图】02绘制条形图
案例 假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8" ...
- matlab作出马鞍面,[2018年最新整理]实验一马鞍面绘制实验.ppt
[2018年最新整理]实验一马鞍面绘制实验 */10 实验一: 马鞍面绘图实验 实验目的和实验内容 实验原理 实验相关的思考问题 ? ? ? 熟悉几个函数 mesh,contour,linspace ...
- 【计算机图形学】-二维曲线绘制实验 (code included)
1. 实验目的: 了解曲线的生成原理,掌握几种常见的曲线生成算法,利用VC+OpenGL实现Bezier曲线生成算法. 2. 实验内容: (1) 结合示范代码理解曲线生成原理与算法实现,尤其是Bezi ...
- 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)
活动地址:CSDN21天学习挑战赛 用代码写出浪漫合集(爱心.玫瑰花) 本文目录: 一.前言 二.用python.matplotlib.Matlab.java绘制爱心 (1)爱心图形1( ...
- matplotlib——在 Jupyter Notebook中绘制图像时只显示变量信息不显示图片
1 问题描述 最近我在使用 Jupyter Notebook做实验时,使用matplotlib包绘制图像,但是显示图像时,只看到打印的变量信息,却没有显示图像: 后来就请教了一下度娘- 2 解决方案 ...
- python——Matplotlib饼图、直方图的绘制
实验环境 python 3.6 matplotlib 2.2.3 饼图的绘制 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=No ...
- 三维体素图绘制实验与教程
还是实验课内容,数据是Transunet的标签数据存成了npy格式,想把多器官分割结果用立体的方式表现出来,完整代码在最后,前面主要是搞的一些测试.体素的绘图具体参考了链接[1],主要工具是pytho ...
最新文章
- AttributeError: 'dict' object has no attribute 'status_code'
- 计算机专业人事制度改革,清华大学计算机系人事制度改革正式启动-清华大学新闻网...
- 计算字符串的实际长度
- Android使用adb命令安装应用-连接usb
- 签名程序集密钥文件路径
- CIT 中文笔记完整版
- 关于单机winform数据库 数据存储
- 深圳 计算机网络与管理,深圳计算机网络管理员路由与交换班
- 2014中韩大数据论坛发现大数据的价值
- NIUSHOP wap端分类显示
- VSCode-解决中文乱码和Run in terminal问题控制台不能输入
- 架设个人Web服务器实战(通过ADSL路由)
- Today今天便利店的梦想:准独角兽的雄心与挑战
- 折腾StatusNet(原laconica),搭建个人微博平台
- PT100(RTD)三线制测量方案
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java装修服务分析系统03563
- 云计算-通天学习计划
- 。系统美化 ① FAQ
- 一文理清区块链里那些容易混淆的概念
- 高层货架一般需要计算机控制,自动化高层货架仓库的组成部分及其优点
热门文章
- KVM为虚拟机添加设备总结
- websocket获取httpsession报NullPointerException解决办法
- AngularJS实现产品列表(页面搜索,排序)
- 通过Webservice查询手机号码归属地
- AdminStudio功能模块与版本信息总结
- 分布式环境下的并发问题
- OVH公司进军英国数据中心市场
- ruby on rails错误undefined method `title#39; for nil:NilClass
- Ubuntu(Linux) 下 unzip 命令使用详解
- 搞定“另一个 OleDbParameterCollection 中已包含 OleDbParameter。”的两种办法。