假设我有以下数据集:
import numpy as np
import matplotlib.pyplot as plt
x_bins = np.arange(10)
y_bins = np.arange(10)
z = np.random.random((9,9))
我可以很容易地用
plt.pcolormesh(x_bins, y_bins, z, cmap = 'viridis)
但是,假设我现在为每个点添加一些alpha值:
a = np.random.random((9,9))
如何更改pcolormesh绘图中每个框的alpha值以匹配数组“a”中的相应值
由
pcolormesh
创建的网格对于整个网格只能有一个alpha。要为每个单元格设置单个alpha,需要将单元格逐个创建为矩形下面的代码显示了
pcolormesh
左侧没有alpha,右侧有alpha的矩形网格。请注意,在矩形接触的点上,半透明度会导致一些不相等的重叠。这可以通过不绘制单元格边缘(edgecolor='none'
)或通过更长的黑线分隔单元格来缓解下面的代码更改了x维度,因此更容易验证
x
和y
是否混淆relim
和autoscale
是必需的,因为使用matplotlib的默认行为,不会通过添加补丁来更改x和y限制相关问题 更多 >
编程相关推荐