- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 matplotlib 中使用 pcolor。我使用三维数组作为输入。我想安排第三个数组以对数刻度显示。有没有办法做到这一点?如果我在绘制第三个数组之前对其取对数,则子值将变为负值,并且 pcolor 不再起作用。
最佳答案
假设您的第三个维度的数据都是正数(因为负数的对数未定义),那么您使用 pcolor
绘制此图应该不会有任何问题(注意:Matplotlib 文档建议pcolormesh
而不是 pcolor
)。此时,我将提请注意帖子的编辑历史记录,其中显示“sub one”过去常说“subzero”,这会产生 NaN;我稍后会解决这个问题。正如当前版本所说,小于 1(且大于 0)的数字的对数为负数。您提到使用 pcolor
绘制负数时遇到问题,但这不会影响任何内容。
假设为正数,下面的代码应该可以工作。
import numpy as np
import matplotlib.pyplot as plt
plt.close("all")
N = 20
x = np.linspace(0, 1, N)
y = np.linspace(0, 1, N)
X, Y = np.meshgrid(x, y)
Z = X**2 + Y + 0.1
data = np.stack((X, Y, Z), axis=0)
fig, ax = plt.subplots()
p = ax.pcolor(data[0], data[1], np.log(data[2]))
fig.colorbar(p, ax=ax, label="ln(z)")
ax.set_xlabel("x")
ax.set_ylabel("y")
如果我们考虑原始文本,则使用 np.log
表示负数将产生 NaN
,如前所述。将我们的 Z
定义切换为 Z = X**2 - Y + 0.1
,我们会收到警告。
RuntimeWarning: invalid value encountered in log
p = ax.pcolor(data[0], data[1], np.log(data[2]))
这仍然会生成一个绘图,但数据为 NaN
的位置将不会被绘制。
版本:
关于python - matplotlib 中的 pcolor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777776/
我将 pcolor 与轮廓线一起使用。但是,从图中无法识别线条的值,如下图所示。 [x y data] = peaks(1000); data = data / max(max(data)); col
我正在关注 documentation用于创建自定义颜色图。我想要的 map 如下所示: 这是我想出的字典: cdict = {'red': ((0.00, 0.0, 0.0),
如果我使用具有足够大网格的 pcolor,则小平面边缘与颜色方 block 不匹配。这是一个例子: >> pcolor(rand(18)) 产生这张图片: 鉴于 >> pcolor(rand(19))
我在 matplotlib 中使用 pcolor。我使用三维数组作为输入。我想安排第三个数组以对数刻度显示。有没有办法做到这一点?如果我在绘制第三个数组之前对其取对数,则子值将变为负值,并且 pcol
我有一个带有二进制值的网格,形状为 (1000, 60) ,还有一行 someLine长度(1000,) . 我将它们绘制为 plt.figure() plt.pcolor(rejectionSpac
DF_correlation = [[ 1. 0.98681158 0.82755361 0.92526117 0.89791366 0.9030177 0.89770
我创建了一个 caxis 范围从 -3 到 3 的 pcolor。但是,在数据中我有很多点的值恰好是 1000。我想做的是保持颜色相同所有其他点,但将值为 1000 的任何点的颜色设置为黑色。有谁知道
没有实现的最小例子: [X,Y,Z] = peaks; figure; pcolor(X,Y,Z); shading flat; hold all; axes; contour(X,Y,Z); col
我想在同一张图中绘制两个 numpy 数组 Z1 和 Z2,Z2 在 Z1 之上。数组 Z2 仅包含 0 和 1,我希望 0 完全透明 (alpha = 0),而 1 透明且某些 alpha > 0。
我有矩阵数据,其中一个轴与日期相关。但是,我在将此数据作为轴传递给 pcolor 时遇到问题。我的虚拟数据如下: In [219]: X = [datetime.date.today() + date
似乎 PCOLOR 正在砍掉我数据集的最后一行和最后一列。打印下面 zi 的形状显示它是 (22,22),如我所料,但显示的面积为 21 x 21 平方...知道为什么没有绘制最后一行和最后一列吗?
我想让我的海龟朝离自己最近的具有特定颜色的色 block 方向移动。 目前我的移动代码是: ;FLY MOVEMENT to move-flies ask flies [right rando
是否可以生成具有 2 个 y 轴的 pcolor 图? 考虑以下示例: clear all temp = 1 + (20-1).*rand(365,12); depth = 1:12; time =
为了缓解 described here 问题,我尝试将 pcolor 绘图分为两个互补部分。我有分别对应于经度和纬度的 X 和 Y 数据(实际上,这是由 cartopy 转换为投影坐标的,但是手头的问
我使用 pcolor 绘制二维数组中的信息。但是,数组中的信息在迭代过程中会发生变化,我想动态更新颜色图,以便实时可视化变化。我怎样才能以最简单的方式做到这一点? 编辑 - 示例: from __fu
我正在尝试使用 Heatmap in matplotlib with pcolor? 中的示例使用 pcolor 创建热图但我遇到了麻烦。 首先,接受的 anwser 中的示例对我不起作用,并且我收到
我有一对代表二维空间中的点的数字列表,我想将这些点的 y/x 比率表示为一维热图,并以 1 为中心的发散颜色图,或者我的比率的对数,发散的颜色图以 0 为中心。 我该怎么做? 我当前的尝试(借鉴 He
当我有一段跨越反子午线的无网格纬度/经度/数据对时,经度从 -180 交换到 +180,如何防止使用 pcolor(mesh) 进行 cartopy绘制充满整个地球的网格单元?我的问题与 here 相
我有一个简单的 matplotlib pcolor 图,可以使用以下 MWE 重现: import pandas as pd import matplotlib.pyplot as plt impor
我想使用 matplotlib 在 python 中绘制类似于下图的第二张图: 这背后的代码是here : #!/usr/bin/env python from pylab import * Z =
我是一名优秀的程序员,十分优秀!