首页
学习
活动
专区
圈层
工具
发布

绘图: matplotlib核心剖析

实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间。用户在熟悉了核心对象之后,可以轻易的定制图像。matplotlib的对象体系也是计算机图形学的一个优秀范例。...此外,整个图像外有一个方框,用来表明可绘图的范围,所有上面提到的元素都依附于该方框。 这就是用面向对象的方式来理解一个图像。...上面的每个对象,无论是Line2D, Text还是fig,它们都来自于一个叫做Artist的基类。 OO绘图的原程序还有一个canvas对象。它代表了真正进行绘图的后端(backend)。...Artist只是在程序逻辑上的绘图,它必须连接后端绘图程序才能真正在屏幕上绘制出来(或者保存为文件)。我们可以将canvas理解为绘图的物理(或者说硬件)实现。...matplotlib实际上提供了更大的自由度,允许用户以更基础的方式来绘制图形,比如下面,我们绘制一个五边形。

2.7K70

canvas相关API简介及思考

为什么这样说,因为大部分前端开发人员在写业务代码的时候用到canvas的概率很小,就算用到了,也只是类似drawImage这个API,并且,对drawImage这个API的了解也并不深刻,只知道它可以将图片绘制到画布上...如果你对canvas研究的比较深刻,那么你会发现,和浏览器其他的API相比,如果想要开发一个产品,其他的API可能需要很多组合在一起才能开发出来一套产品。...二次贝塞尔曲线及三次贝塞尔曲线 如果你不了解贝塞尔曲线,那么如果你使用过photeshop,photoshop的钢笔工具绘制的实际上就是贝塞尔曲线,有两个定点和一个控制点,或者多个控制点。...canvas相关的API的一些梳理,当然还有很多没有提到的api,利用这些API可以实现很多关于图像处理的内容,比如:蚂蚁线,图像滤镜,图像渐变...等等 后面我将会结合一个具体的项目来梳理相关的知识点...上图是已经在开发中的内容,canvas中的图片已经实现了缩放,接下来可能是移动,新建图层...

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用ChatGPT和Claude创建软件图表

    在我之前的文章中,关于ChatGPT 和 Claude 可以看到你屏幕上的什么内容以及开发者如何利用它,我提到过一个浏览器扩展,它使用从完整 CNN 网站获取的图像来增强纯文本的lite.cnn.com...之前,我会阅读 Manifest V3,找出哪些方面与我的项目相关,然后想办法应用它们。现在我有了带有解释的工作代码,我可以在代码的上下文中对其进行询问。...它给了我该图表的 Mermaid 语法,以及它的渲染结果。隐式地,它告诉我我想要绘制的图表类型有一个名称:“序列图”。 但这并不是迭代的正确地方。所以我将代码带到了Mermaid Live。...Claude 提供了一些想法:使用“Note over”声明在图表上放置注释,或使用“自消息传递”(来自同一参与者的消息)。我说:“让我们两种方法都试试”。...虽然我从未使用过 JavaScript MutationObserver,但我现在已经在一个对我来说有意义的上下文中看到了它的应用。当我需要它时,我可能会记住这个例子。

    69810

    利用Python绘图和可视化(长文慎入)

    它们各自对应subplot对象上的两个方法,以xlim为例,就是ax.get_xlim和ax.set_xlim。我更喜欢使用subplot的实例方法,当然你完全可以选择自己觉得方便的那个。...(1)设置标题、轴标签、刻度以及刻度标签 为了说明轴的自定义,我将创建一个简单的图像并绘制一段随机漫步: ? ?...图像的绘制要麻烦一些。matplotlib有一些表示常见图形的对象。这些对象被称为块(patch)。...10、线型图 Series和DataFrame都有一个用于生成各类图表的plot方法。默认情况下,它们所生成的是线型图: ? ? 该Series对象的索引会被传给matplotlib,并用以绘制X轴。...近几年来,我发现了一个总体趋势:大部分库都在向基于Web的技术发展,并逐渐远离桌面图形技术。

    9.9K70

    Python 数据科学入门教程:OpenCV

    三、在图像上绘制和写字 在这个 Python OpenCV 教程中,我们将介绍如何在图像和视频上绘制各种形状。...参数如下:绘制的对象,坐标,我们应该连接终止的和起始点,颜色和粗细。 你可能想要做的最后一件事是在图像上写字。...五、图像算术和逻辑运算 欢迎来到另一个 Python OpenCV 教程,在本教程中,我们将介绍一些简单算术运算,我们可以在图像上执行的,并解释它们的作用。...开放的目标是消除“假阳性”。 有时在背景中,你会得到一些像素“噪音”。 “关闭”的想法是消除假阴性。 基本上就是你检测了你的形状,例如我们的帽子,但物体仍然有一些黑色像素。 关闭将尝试清除它们。...因此,我们不绘制方框,而是,为什么不在手表上写字或什么东西? 这样做相对简单。

    1.8K10

    问答Goodfellow:没有样例能不能训练机器学习算法?

    李杉 编译整理 量子位 出品 | 公众号 QbitAI 从图像和语音识别到自然语言分析,神经网络已经在很多领域大展身手。过去几年,它们的精确度已经几乎可以与人类媲美。...多数深度学习算法都需要数千或数百万添加标签的样例才能获得想要的结果,而对抗网络的出现有助于减少数据需求。从本质上讲,人工智能可以通过模仿“专家”——也就是GAN中的辨别者——来学习复杂的任务。...GAN可以训练两个目标相互竞争的独立网络,还可以用于绘制和归类图像,以及识别情绪、规则和指令。Facebook和Google等现在都在深度学习模型中高度依赖GAN。...他解释了他们如何应对现实场景,例如,有垃圾信息试图逃过过滤器发送邮件,他们还研究了如何用成像对抗者让机器学习算法多加练习,并迫使其改进。...这种新的TPU还支持机器学习模型训练,这较上一代实现了重大进步,之前的TPU可以运行经过训练的模型,但不能用于训练。这些进步来自持续多年的研发,这都得益于谷歌领导层对这一领域展开的先期投资。

    59730

    教程 | 使用Keras实现多输出分类:用单个模型同时执行两个独立分类任务

    蓝色衬衫(369 张图像) 红色裙子(380 张图像) 红色衬衫(332 张图像) 我使用我之前写的教程《如何(快速)创建一个深度学习图像数据集》中描述的方法创建了该数据集,参阅:https://goo.gl...这个在 imagePaths 上的循环是从第 54 行开始的。 在该循环内部,我们加载图像并将其尺寸调整为 IMAGE_DIMS。我们也将图像颜色通道的顺序从 BGR 转换成 RGB。...我最喜欢的两种方法包括:(1)为每个标签使用子目录,(2)将所有图像存储在同一个目录中,然后创建一个 CSV 或 JSON 文件将图像文件名映射到它们的标签。...上面的代码块负责绘制每个损失函数的损失历史图表,它们是分别绘制的,但叠放在一起,包括: 总体损失 类别输出的损失 颜色输出的损失 类似地,我们将准确度绘制成另一个图像文件: ?...我认为这一次我们很可能成功,将以下代码输入终端: ? ? 图 12:尽管「黑色裙子」图像并不包含在今天的数据集中,但我们仍然可以通过 Keras 和深度学习使用多输出分类来正确分类它们。

    4.3K30

    李飞飞高徒、AI“网红”Karpathy:训练神经网络不得不看的33个技巧

    更重要的是,Karpathy乐于而且善于分享自己的经验和见解,在推特和博客上非常活跃,有 AI “网红” 之称。...我喜欢花大量时间(以小时为单位)浏览数千个示例,了解它们的分布并寻找模式。幸运的是,我们的大脑非常擅长做这个。有一次,我发现数据中包含重复的例子。另一次我发现了损坏的图像/标签。...有多少变量,它们以什么形式出现?哪些变量是假的,可以预先处理的?空间位置是否重要,或者我们是否想要将其平均池化?细节有多重要,我们能在多大程度上对图像进行降采样?标签有多少噪音?...此外,由于神经网络实际上是数据集的压缩/编译版本,因此你能够查看你的网络预测并了解它们可能来自何处。如果你的网络给你的预测与你在数据中看到的不一致,那就是有什么地方错了。...我也喜欢在同一个图中可视化标签和预测,并确保一旦达到最小损失,它们最终会完美地对齐。如果没有完美对齐,那么在某个地方就有一个bug,我们无法继续到下一个阶段。 验证训练损失的下降。

    1.3K30

    UI设计师必须知道的 iOS和Android的APP图标设计指南

    当第一次面临绘制应用程序图标的挑战时,我遇到了很多问题。我在完成几个项目后之后才找到了一些答案。我决定写这篇文章来帮助和我一样的初学者,但我希望经验丰富的设计师也会觉得它很有用。好吧,让我们开始吧!...为什么每个app都需要一个图标? app的图标是为每个移动应用程序添加的唯一图像。这是新用户在App Store和Google Play上找到应用时看到的内容。...Todoist使用标准为任务管理员勾选一个有趣的组合,在开始绘制之前花一些时间进行研究搜索主要竞争对手以及来自同一类别的应用程序。想想如何脱颖而出!如果大多数图标都是彩色的,请考虑使用单色调色板。...我使用Sketch,但任何其他图形编辑器也可以使用。 绘制iOS应用程序图标 有许多用于创建图标的模板,但我们暂时不会使用它们。假设我们已经研究了市场,也许确定了这个想法,甚至手工制作了草图。...我不会对细节感到枯燥,但我的图标经过了经理审核,并向客户反馈了几次。 ? 为了更好呈现图标,我做了一个简单的动画: ? 这个和我在Dribbble上分享的其他东西图标都准备好了!我们把它导出吧。

    2.8K20

    一张截图生成iPhone应用、还能转成代码、创建网站,升级后谷歌Bard真成了

    这时你可能无法得到想要的结果。通过点击「查看其他草稿」,Bard 会提供另外两个选项,或者重新生成输出。如果想要更改特定内容,只需要在第二个提示中提出要求即可。这里要求更改颜色。...使用谷歌 Bard,有人仅通过一张屏幕截图就重新创建了一个基本的计时器应用程序,用时不到 4 分钟。 此外不需要给 Bard 任何关于该应用程序要做什么的提示,它就提供了所有代码。...对于 Bard 的这个妙用,有网友表示,在 GPT-4 发布的时候见到过这样的 Demo,比如绘制网站的 UI 并进行 AI 编码。...此次 Bard 为想要创建应用或网站,但不想解释整个 UI(只想绘制草图或在 Figma 中创建)的非技术人员提供了很多有趣的想法。 类似的例子还有很多,比如还有人将图像转换为代码,运行速度很快。...详细步骤如下: 第一步:使用以下提示「我希望你作为我的私人助理来安排旅行费用。我会为你提供一系列图像,希望你将它们放在一个表格中,包含费用报告的所有相关信息(日期、时间、类别、说明、含税总金额)。

    43060

    3分钟极简掌握matplotlib绘图原理

    用户在熟悉了核心对象之后,可以轻易的定制图像。matplotlib的对象体系也是计算机图形学的一个优秀范例。即使你不是Python程序员,你也可以从文中了解一些通用的图形绘制原则。...上面的每个对象,无论是Line2D, Text还是fig,它们都来自于一个叫做Artist的基类。 OO绘图的原程序还有一个canvas对象。它代表了真正进行绘图的后端(backend)。...Artist只是在程序逻辑上的绘图,它必须连接后端绘图程序才能真正在屏幕上绘制出来(或者保存为文件)。我们可以将canvas理解为绘图的物理(或者说硬件)实现。...计算机屏幕是由一个个像素点构成的。想要在屏幕上显示图像,计算机必须告诉屏幕每个像素点上显示什么。所以,最贴近硬件的坐标体系是以像素为单位的坐标体系。我们可以通过具体说明像素位置来标明显示器上的某一点。...matplotlib实际上提供了更大的自由度,允许用户以更基础的方式来绘制图形,比如下面,我们绘制一个五边形。

    1.4K10

    CSharp代码示例每日一讲: 如何用GDI+技术在窗体上绘图?

    其实,使用GDI+在窗体上绘图很简单,只要override Form的OnPaint方法,在这个方法里拿到绘图对象(Graphics) 写绘制代码就可以了。...然后我们可以通过PaintEventArgs的图形属性获取绘图对象(Graphics),然后用来绘制、线条、形状、文本和图像。下面的代码在窗体的OnPaint方法中绘制了一些图形形状和文本。...垃圾收集是一件代价高昂的事情,因为垃圾收集器会检查内存中是否有未被处理的对象,而这个过程会占用处理器时间。但是,对象的Dispose方法告诉垃圾收集器该对象已完成并准备好处理。...绘图除了在窗体上绘制之外,经常用的方式是在PictureBox控件上绘制。跟窗体上绘制类似,可以获取控件的Graphi对象绘制。...还有一种方式在图像处理里经常用,就是创建一个Image直接在Image对象上图像绘制。

    1.6K20

    图像处理,计算机视觉和人工智能之间的差异

    下面将提供了一些有意思的链接,可以在本文的最后使用该程序,你可以自己尝试并体验这些颠覆性技术如何改变世界前后的工作方式。 因此,在本文中,我将帮助你了解图像处理,计算机视觉和人工智能之间的区别。...要完成上述所有操作,你决定通过图像编辑移动应用程序传递图像,该应用程序在后端运行多个功能,并在每个功能中运行图像处理算法,该算法将你的图像作为输入对图像执行数学运算,如在算法中并给出所需的输出图像。...第四个图像是第三个图像的轮廓图像(简单地说,我们试图在所有颜色为白色的物体上绘制边界,其中也包括宠物),在最后一个图像中,我们通过周长逼近最大轮廓使用凸包,这里最大的轮廓将是宠物的轮廓,并在图像上绘制近似的形状...模板匹配的输出将是中心图像,因为你可以看到图像中最亮和闪亮的部分是黄色光盘所在的位置。因此,我们在最右边的图像上绘制一个框。 ?...总结 我试图解决一个非常简单但非常重要的话题,这个领域的每个初学者都想要理解。当我开始学习这个领域时,我总是有这个问题,而且我发现很少有人明确地回答我的问题。我希望我能帮到你。

    1.5K30

    HTML5&CSS3初学者指南(4)–Canvas使用

    HTML5 的 Canvas 元素使用 JavaScript 在网页上绘制图像。 画布是一个矩形区域,你可以控制其每一像素。 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。...lineTo()方法使用X和Y作为参数,在 Canvas 上创建上一个点到参数指定点的路径。...stroke()方法绘制出了 Canvas 上,moveTo()指定的点到 lineTo()指定点的路径线条。stroke()方法没有参数。...addColorStop()方法指定了渐变对象的颜色和位置。 addColorStop()有2个参数: 一个0.0到1.0之间的值,代表渐变中开始点和结束点的位置。...DrawImage()方法有4个参数: 放置图像的X坐标 放置图像的Y坐标 图像的宽度 图像的高度 getImageData()方法通过从 Canvas 上指定的矩形里拷贝像素数据,来创建一个图形数据对象

    1.7K80

    零基础用文心一言带你绘制组合图

    ,其中每个元素的值对应于图像上的一个像素的亮度。...请注意,这个可视化方法主要是为了展示矩阵的结构和它们在相乘之前的形状,而不是直接展示相乘的过程。矩阵相乘的过程在数值上是通过对应元素相乘并求和来完成的,这个过程在图像上不易直接表达。...运行这段代码将生成一幅包含三个子图的图像,每个子图分别展示矩阵A、B和C。每个矩阵的背景色为白色,矩阵值被填充在相应的位置上,坐标轴的刻度和标记都被隐藏了。...请注意,由于imshow默认会将数据归一化到[0, 1]范围内,所以你可能需要根据实际情况调整文本的位置或大小,以确保它们能够清晰地显示在图像上。...gs[1, 1:] 表示从第二行第一个位置开始到最后一列的所有位置。 请注意,这里我使用了 imshow 函数来显示矩阵,并且为它们指定了灰度颜色映射 (cmap=’gray’)。

    64410

    一文说清楚如何如何利用NVIDIA工具包和生成式AI改变视觉AI应用

    这些模型庞大,已经在大量数据上进行了训练,想象一下,数亿到数十亿的图像和文本数据。好消息是,这些数据是未标记的,即从网络上获取的数据。...因此,您可能无法在边缘设备上运行大量这些大型模型,这就是模型蒸馏的用武之地。...右上角的方框完成了封闭词汇分割生成,这个模型可以在任意数量的数据集上进行训练。因此,我们有一个在COCO数据集上进行训练的模型,因此它可以在COCO数据集上进行封闭词汇分割。...我们都听说过LLMs,也见过这些基础模型,但使用这些基础模型仍然存在挑战,我是说它们是在大量的数据上进行训练的,这些数据是一般性的数据集,因此它们缺乏特定领域的知识,它们可能无法生成符合您追求的用例的内容...我们还有时间进行问答,所以不要担心,我们有很多合同问答,但我们希望通过几个更有趣的示例来结束,这两个示例来自Jetson Generative AI Playground,。

    55520

    了解 Android 的矢量图片格式:`VectorDrawable`

    矢量资源有三大好处,分别是: 好用 占用资源少 动态 好用 矢量图可以优雅的调整大小;这是因为它们将图像绘制在抽象大小的画布上,你可以放大或缩小画布,然后重新绘制对应尺寸的图像。...权衡 矢量确实也有一些需要考虑的缺点: 解码 正如前面所诉,矢量图像描述了自己包含的内容,因此在使用前需要对它们进行 inflate 和 draw 操作。 ?...转变 据我所知,没有设计工具能够直接创建 VectorDrawables ,这意味着有一个来自其他格式的转换步骤。 这会使设计人员和开发人员之间的工作流程复杂化。.... /> 复制代码 请注意,你无法旋转、缩放、转化单个路径。如果你想要这种行为,则需要将它们放在一个组中。...声明非抗锯齿 clip path 这个例子(我必须放大以显示效果)显示了两种绘制相机快门图标的方法。第一个绘制路径,第二个绘制一个实心方块,屏蔽快门形状。

    3.3K30

    半天2k赞火爆推特!李飞飞高徒发布33条神经网络训练秘技

    · 在评估中添加有效数字 在绘制测试集损失时,对整个测试集进行评估,不要只绘制批次测试损失图像,然后用Tensorboard对它们进行平滑处理。...4、正则化 理想的话,我们现在有一个大模型,在训练集上拟合好了。 现在,该正则化了。舍弃一点训练集上的准确率,可以换取验证集上的准确率。...虽然,NLP领域有了BERT,有了会讲故事的GPT-2,但我们看到的效果很大程度上还是经过了人工挑选。...如果参数a是有用的,参数b起不了什么作用,就应该对a取样更彻底一些,不要只在几个固定点上多次取样。 · 超参数优化 世界上,有许多许多靓丽的贝叶斯超参数优化工具箱,很多小伙伴也给了这些工具好评。...但我感觉,还是训练得昏天黑地,不知道多久了,比较好。 有一次,我意外把一个模型留在那训练了一整个寒假。 我回来的时候,它就成了State-of-the-Art。

    58020

    最简WebGL教程,仅需 75 行代码

    但是我所阅读的每篇教程都介绍了抽象和辅助函数,这使我很难理解哪些部分是 OpenGL API 的真正核心。 明确地说,在实际的应用程序中,把位置数据和渲染功能分离到单独的类这样的抽象很重要。...首先,本文要归功于我所学过的教程[1]。从这个基础开始,我剥离了所有抽象,直到有了一个“最小可行的程序”为止。希望这将帮助你使用现代OpenGL入门。这就我们要做的: ?...还有一个称为 uniform 的变量类型,该变量类型在多次调用顶点着色器时将会保持不变。这些 uniform 用于变换矩阵之类的属性,对于单个几何图形上的顶点来说,它们都是恒定的。...在任何实际的应用中,我们都会以结构化的方式存储数据,在数据发生变化时将其发送到 GPU,并在每一帧进行绘制。 ---- 将所有内容放在一起,下图显示了在屏幕上显示第一个三角形的最小概念集。...最后的步骤,尽管经过了简化,但完整描述了三角形所需的步骤顺序 对我而言,学习 OpenGL 的难点在于获得屏幕上最基本图像所需的大量模板。

    2.3K31

    一种全新的地图推进无人驾驶汽车上路步伐

    他展示了一张他最近在伦敦的一家古地图商店买下的地图。斯基尔曼称,地图可以推动向新技术的过渡。 无人驾驶汽车需要的地图跟人们现在使用的逐向导航地图有几个重要差异。它们必须要高清。...人们的关注大多聚焦在汽车的传感器、其它技术以及潜在的法律问题(例如,如果无人驾驶汽车引发事故,应该怪责谁呢?要是汽车被黑客入侵呢?)上,但有另外一个重要的元素被忽略了:地图 地图绘制过程 ?...汽车在行驶的时候,该激光雷达系统会旋转,射出32个激光束,以及分析反射回来的光。利斯特夫斯基称,它每秒可收集70万个数据点。...街道方面,它的分辨率可精准到几厘米。 ? 配备GP(配备GPS、激光雷达装置和摄像头的HERE汽车) 地上的标线和路标在激光雷达图像上很显眼,因为它们涂有反光漆油。...HERE同时利用计算机视觉算法和人工来提取这种信息,并拿来自汽车摄像机的图像进行比对(类似于谷歌从它的街景图像提取类似的信息)。

    77350
    领券