python - 在 matplotlib 中创建一个空的 pcolormesh
问题描述
我可以用
self.line, = self.axes.plot([],[], color="orange")
但是当我尝试对 pcolormesh 做同样的事情时
self.line2, = self.axes2.pcolormesh([],[],[])
我得到一个ValueError: not enough values to unpack (expected 2, got 1)
有没有办法用空值创建 pcolormesh 对象?我想在其他函数中将数据添加到 pcolormesh 中。
解决方案
plot
返回曲线列表(作为Line2D元素的列表)。当绘制多条曲线时,这是一致的。例如ax.plot(x1, y1, 'r-', x2, y2, 'b-')
,将返回两条曲线的列表。因此,需要一个逗号来解包(一个元素的)列表以获得 的曲线ax.plot
。
pcolormesh
只能绘制一个网格(作为QuadMesh),因此它会返回它而不将其打包到列表中。单个元素无法解包,因此不应使用逗号。此外,pcolormesh
需要一个C=
参数是2D列表(或 numpy 数组)。pcolormesh
接受两种提供列表的方式。作为pcolormesh(X, Y, C)
或直接作为pcolormesh(C)
。为了区分这两种格式,需要检查这些参数的类型和维度,而空列表可能会导致混淆。有一个空的方法pcolormesh
是跳过 X 和 Y,并提供C
一个 2D 列表:
quads = plt.pcolormesh([[]])
推荐阅读
- ruby - 使用gets时Ruby Loop无法中断
- c# - ASP.Net C# MCV - 将值从 Ajax Jquery 传递到控制器
- sql - 如何设置两个字段组合的输出参数,例如fullname=firstname+lastname?
- chatbot - 上一个 (%) 命令在 Rivescript 游乐场测试中引发错误?
- javascript - 如何在 OfficeJS 中显示类似于 Window.alert() 的消息
- angular - 如何使用不同的服务注入以角度创建可重用组件?
- r - 如何使用 data.table 对缺失值进行交叉制表
- javascript - Jquery脚本阻止JS脚本工作
- google-cloud-ml - 添加自定义依赖项在 ML-Engine 提交训练中不起作用
- javascript - 使用 ul > li 过滤数据