具有可变线宽的 Matplotlib 图

2023-12-10

是否可以在 matplotlib 中绘制具有可变线宽的线?例如:

from pylab import *
x = [1, 2, 3, 4, 5]
y = [1, 2, 2, 0, 0]
width = [.5, 1, 1.5, .75, .75]

plot(x, y, linewidth=width)

这不起作用,因为行宽期望一个标量。

Note:我知道 *fill_ Between()* 和 *fill_ Betweenx()* 。因为这些仅填充 x 或 y 方向,所以这些不能正确处理倾斜线的情况。希望填充始终垂直于线条。这就是寻求可变宽度线的原因。


使用 LineCollections。一种按照以下方式做到这一点的方法thisMatplotlib 的例子是

import numpy as np
from matplotlib.collections import LineCollection
import matplotlib.pyplot as plt
x = np.linspace(0,4*np.pi,10000)
y = np.cos(x)
lwidths=1+x[:-1]
points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)
lc = LineCollection(segments, linewidths=lwidths,color='blue')
fig,a = plt.subplots()
a.add_collection(lc)
a.set_xlim(0,4*np.pi)
a.set_ylim(-1.1,1.1)
fig.show()

output

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有可变线宽的 Matplotlib 图 的相关文章

随机推荐

  • 连续分析范围内的随机数生成器

    我可以使用以下命令从一定范围内创建随机数 Random rand new Random int num rand nextInt 10 System out println Generated Random Number between 0
  • CSS3 旋转动画

    我已经查看了相当多的演示 但不知道为什么我无法让 CSS3 spin 运行 我正在使用 Chrome 的最新稳定版本 小提琴 http jsfiddle net 9Ryvs 1 div margin 20px width 100px hei
  • JavaScript 功能和 UI 更新

    我有一个以下函数 它将相对定位的元素从现在的位置滑动 1000px for var i 0 i lt 1000 i my element css left parseInt my element css left 10 1 这不会产生滑动效
  • 使用 JavaScript Promise 实现多线程

    只是学习承诺 JavaScript 是单线程的吗 那么当它使用 fetch api 发出 http 请求时 这一切都发生在一个线程中吗 那么它如何管理 PromisePool 的并发呢 var p Promise p then stuff1
  • 应用栅格 netlogo gis 时扩展异常:1944553

    我正在尝试使用 GIS 扩展中的 apply raster 将 ascii 加载到 Netlogo 中 虽然我之前多次这样做过 尽管不是使用这个特定的 ascii 但 netlogo 现在会抛出以下错误 extension exceptio
  • 如何使用键值对列表查询数据库

    假设我有一个包含 3 列的表 ID 类别 名称 我想这样查询表 获取对应的行 Category Cat1 AND Name ABC OR Category Cat2 AND Name ABC OR Category Cat2 AND Nam
  • HTML 表单提交不适用于 Spring Boot 2.3.1

    从 Spring Boot 2 2 7 切换到 Spring Boot 2 3 1 后 针对我的具体情况提交表单时的实体转换不再起作用 类别 java Entity Getter Setter public class Category i
  • App Engine 全文搜索 API (Java)

    我一直在尝试使用 Google AppEngine 的实验性搜索 API 我使用的是 SDK 1 6 6 到目前为止 我可以将条目添加到索引并在我的开发环境中搜索它 当我部署应用程序时 我仍然可以向索引添加条目 但是当我尝试 执行搜索 我得
  • 在超过 2 个页面上使用 php 变量

    我使用了一个表单将两个变量从一个页面发送到另一个页面 然后我希望用户能够单击链接 停留在网站上 然后在第三页上仍然可以使用变量 第一页 效果很好
  • 选择后添加浏览安装目录“${PRODUCT_NAME}”后的 NSIS 目录页面

    我有一个带有目录页面的简单 NSIS 脚本 用户可以在其中选择要安装应用程序的目录 请参阅下面的示例 如果应用程序已安装 它将从注册表或 www 根目录或 program files publisher product name 中获取值
  • 防止调试器在第 3 方库中的所有异常上中断

    我维护一个开源库 该库在递归方法调用期间在内部使用异常 异常在调用堆栈上被收回并在某些情况下进行处理 而在其他情况下它将返回给调用者 我们现在遇到的问题是 一些用户运行 Visual Studio 调试器时选择了 在所有异常时停止 选项 因
  • 如何使用 AJAX 获取每个选项卡的内容? Rails 4、Bootstrap 3

    我在 事件 页面视图中有 4 个选项卡部分 我让它在请求事件页面时获取并呈现每个选项卡的所有内容 对于可扩展性来说 这似乎不是一个好的解决方案 单击选项卡时 如何使用 AJAX 获取每个选项卡的内容 第一次这样做 理论上看起来很简单 但未能
  • Java 8 List 转换为 Map>

    我有一个清单 List
  • Integer === 3 是如何工作的?

    据我了解 运算符测试 RHS 对象是否是 LHS 对象的成员 这就说得通了 但这在 Ruby 中是如何工作的呢 我正在查看 Ruby 文档 我只看到 定义于Object 我没有看到它Integer本身 只是没有记录吗 Integer是一个类
  • 如何在 Durandal 中动态显示路线选项卡?

    这是一个由两部分组成的问题 我对杜兰达尔和淘汰赛很陌生 使用 Durandal 2 0 1 的 HTML Starter Kit 示例 我使用自己的虚拟机为customers id 添加一条路由 并使用 nav false 查看 route
  • Typescript:私有成员突然未定义

    所以 我有一个基本的 Typescript 应用程序 它实际上不会引起任何重大问题 但似乎这里出了问题 我不知道是什么 我确实有这个私人会员minUpdateRate in my GameContainer类 在构造函数中初始化 这似乎进展
  • 选择 MySQL 中数值的前 X(或后)百分比

    我想知道 MySQL 中是否可以使用任何函数从包含数值的列中选择前 X 或底 百分比 基本上 我有一个包含价格列表的列 我只想返回价格前十个百分位中的那些字段 有什么建议么 编辑 新答案 回答于将 SQL Server 查询转换为 MySQ
  • 无法创建 /etc/nginx/nginx.conf:目录不存在并且启动容器导致“exec:\”supervisord \“:在$ PATH中找不到可执行文件”

    我正在构建 docker 映像以使用 uwsgi nginx 部署 Flask 应用程序 以下是创建 docker 容器的相关文件 Dockerfile content FROM python 3 6 MAINTAINER Dockerfi
  • 使用 NSUserDefaults 保留 MPMediaItemCollection 对象

    如何使用 NSUserDefaults 持久保存 MPMediaItemCollection 对象 MPMediaItemCollection 对象是从 iPod 中选择的一首歌曲 我已经为此苦苦挣扎了几个小时 任何人对 NSUserDef
  • 具有可变线宽的 Matplotlib 图

    是否可以在 matplotlib 中绘制具有可变线宽的线 例如 from pylab import x 1 2 3 4 5 y 1 2 2 0 0 width 5 1 1 5 75 75 plot x y linewidth width 这