Pyplot从1D阵列创建强度图

时间:2017-06-07 21:00:49

标签: python matplotlib scipy

我目前有一个1D数组,表示强度值,其索引值为x位置。

intensity_values = [0.10, 0.32, ... , 0.12, 0.23]

我想在图的底部用强度图创建一个子图,直观地显示数据。

Gradient-Bar

我见过一些需要三维数组才能填充数据图的例子。我将如何实现这一结果?

1 个答案:

答案 0 :(得分:1)

如果您将intensity_values重新整形为2D NumPy数组,则可以使用imshow:

ax.imshow(np.atleast_2d(intensity_values))
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec
x = np.linspace(0, np.pi, 100)
intensity_values = np.sin(x)

# https://stackoverflow.com/a/35881382/190597
fig, (ax0, ax1) = plt.subplots(
    nrows=2, gridspec_kw={'height_ratios':[7, 1],}, sharex=True)
ax0.plot(x, intensity_values)
ax1.imshow(np.atleast_2d(intensity_values), cmap=plt.get_cmap('gray'),
              extent=(0, np.pi, 0, 1))
plt.show()

enter image description here