我 for each 强度(Z)数组都有单独的xarray.这意味着强度行不会相互堆叠.我不希望瓷砖"倾斜",因此它们连接到上面和下面的行,我只是希望它们在y方向上是直的,在x方向上是连接的.提前非常感谢!

这是一个伪代码:

import numpy as np
import matplotlib.pyplot as plt

y_values = np.array([0, 1, 2, 3, 4, 5], dtype=float)

x_list = range(50, 70)

x_values_list = []
z_values_list = []
for i in range(len(y_values)):
    x_value_single_list = [np.array(0.01*x**2 + 0.1*x*i + 0.3 * i, dtype= float) for x in x_list]
    x_values_list.append( x_value_single_list)
    z_values_list.append(np.random.rand(20))

z_values_list = [np.array(arr, dtype=float) for arr in z_values_list]
x_values_list = [np.array(arr, dtype=float) for arr in x_values_list]

fig, ax = plt.subplots()

c = ax.pcolormesh(x_values_list, y_values, z_values_list, cmap='viridis') #, shading='auto'
plt.colorbar(c)
plt.show()

enter image description here

我try 过很多kwargs,但其中很多似乎没有任何作用,而且似乎没有针对pcolormesh实现,更适合常规线图.显然我已经try 了很多ChatGPT.

推荐答案

如果您使用平面着色,其中x和y代表每个四方形的角,那么您可以一次绘制一行. 请注意,我在pcolormesh调用中显式设置了vminvmax参数,以便即使各行的实际最大值和最小值不同,各行的 colored颜色 范围也将相同.

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

y_values = np.array([0, 1, 2, 3, 4, 5], dtype=float)
x_list = range(50, 70)

for i in range(len(y_values) - 1):
    x_value_single_list = [np.array(0.01*x**2 + 0.1*x*i + 0.3 * i, dtype= float) for x in x_list]
    z_values = np.random.rand(1, 19)  # 2D array but single row.
    
    c = ax.pcolormesh(x_value_single_list, y_values[i:i+2], z_values, cmap='viridis',
                      shading='flat', vmin=0, vmax=1)

plt.colorbar(c)
plt.show()

enter image description here

Python相关问答推荐

如何判断. text文件中的某个字符,然后读取该行

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

Docker-compose:为不同项目创建相同的容器

从 struct 类型创建MultiPolygon对象,并使用Polars列出[list[f64]列

将numpy矩阵映射到字符串矩阵

阅读Polars Python中管道的函数定义

数字梯度的意外值

使用Ubuntu、Python和Weasyprint的Docker文件-venv的问题

Python -Polars库中的滚动索引?

如何根据条件在多指标框架上进行groupby

计算所有前面行(当前行)中列的值

即使在可见的情况下也不相互作用

max_of_three使用First_select、second_select、

. str.替换pandas.series的方法未按预期工作

如何访问所有文件,例如环境变量

如何让程序打印新段落上的每一行?

使用密钥字典重新配置嵌套字典密钥名

如何在PySide/Qt QColumbnView中删除列

LocaleError:模块keras._' tf_keras. keras没有属性__internal_'''

如何检测鼠标/键盘的空闲时间,而不是其他输入设备?