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的几个典型绘制实验相关推荐

  1. qmlcanvas绘制3d图形_透视Matplotlib核心功能和工具包 - 绘制3D图形

    关联知识 Matplotlib Python 线图 在此,我们将学习如何创建3D线图. 它类似于2D等效折线图,并且2D折线图的许多属性都结转到3D. 我们将在相同的轴上绘制凹凸曲线,并从不同角度查看 ...

  2. Matplotlib 中等高线图(contour)的绘制

    Matplotlib 中等高线图(contour)的绘制 今天学习了matplotlib中的高线图的绘制,下面分享一下Matplotlib 中等高线图(contour)的绘制的步骤: 数据初始化 # ...

  3. 10【matplotlib常用统计图】02绘制条形图

    案例 假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8" ...

  4. matlab作出马鞍面,[2018年最新整理]实验一马鞍面绘制实验.ppt

    [2018年最新整理]实验一马鞍面绘制实验 */10 实验一: 马鞍面绘图实验 实验目的和实验内容 实验原理 实验相关的思考问题 ? ? ? 熟悉几个函数 mesh,contour,linspace ...

  5. 【计算机图形学】-二维曲线绘制实验 (code included)

    1. 实验目的: 了解曲线的生成原理,掌握几种常见的曲线生成算法,利用VC+OpenGL实现Bezier曲线生成算法. 2. 实验内容: (1) 结合示范代码理解曲线生成原理与算法实现,尤其是Bezi ...

  6. 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

    活动地址:CSDN21天学习挑战赛 用代码写出浪漫合集(爱心.玫瑰花)       本文目录: ​一.前言 二.用python.matplotlib.Matlab.java绘制爱心 (1)爱心图形1( ...

  7. matplotlib——在 Jupyter Notebook中绘制图像时只显示变量信息不显示图片

    1 问题描述 最近我在使用 Jupyter Notebook做实验时,使用matplotlib包绘制图像,但是显示图像时,只看到打印的变量信息,却没有显示图像: 后来就请教了一下度娘- 2 解决方案 ...

  8. python——Matplotlib饼图、直方图的绘制

    实验环境 python 3.6 matplotlib 2.2.3 饼图的绘制 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=No ...

  9. 三维体素图绘制实验与教程

    还是实验课内容,数据是Transunet的标签数据存成了npy格式,想把多器官分割结果用立体的方式表现出来,完整代码在最后,前面主要是搞的一些测试.体素的绘图具体参考了链接[1],主要工具是pytho ...

最新文章

  1. AttributeError: 'dict' object has no attribute 'status_code'
  2. 计算机专业人事制度改革,清华大学计算机系人事制度改革正式启动-清华大学新闻网...
  3. 计算字符串的实际长度
  4. Android使用adb命令安装应用-连接usb
  5. 签名程序集密钥文件路径
  6. CIT 中文笔记完整版
  7. 关于单机winform数据库 数据存储
  8. 深圳 计算机网络与管理,深圳计算机网络管理员路由与交换班
  9. 2014中韩大数据论坛发现大数据的价值
  10. NIUSHOP wap端分类显示
  11. VSCode-解决中文乱码和Run in terminal问题控制台不能输入
  12. 架设个人Web服务器实战(通过ADSL路由)
  13. Today今天便利店的梦想:准独角兽的雄心与挑战
  14. 折腾StatusNet(原laconica),搭建个人微博平台
  15. PT100(RTD)三线制测量方案
  16. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java装修服务分析系统03563
  17. 云计算-通天学习计划
  18. 。系统美化 ① FAQ
  19. 一文理清区块链里那些容易混淆的概念
  20. 高层货架一般需要计算机控制,自动化高层货架仓库的组成部分及其优点

热门文章

  1. KVM为虚拟机添加设备总结
  2. websocket获取httpsession报NullPointerException解决办法
  3. AngularJS实现产品列表(页面搜索,排序)
  4. 通过Webservice查询手机号码归属地
  5. AdminStudio功能模块与版本信息总结
  6. 分布式环境下的并发问题
  7. OVH公司进军英国数据中心市场
  8. ruby on rails错误undefined method `title#39; for nil:NilClass
  9. Ubuntu(Linux) 下 unzip 命令使用详解
  10. 搞定“另一个 OleDbParameterCollection 中已包含 OleDbParameter。”的两种办法。