Я представлял массив массивов данных с помощью imshow.У него есть цветовая шкала для изменения масштаба:
dataset: array([[4.08468330e-10, 2.36415270e-11, 6.58846951e-12, ...,
2.27156279e-12, 4.23543198e-12, 4.40911000e-12],
[4.07275560e-10, 2.46574163e-11, 4.82123872e-12, ...,
2.39588823e-12, 2.42245604e-12, 3.58778000e-12],
[4.06226210e-10, 2.44212517e-11, 5.70813892e-12, ...,
2.79494406e-12, 2.90031792e-12, 4.51387000e-12],
...,
[2.98255320e-10, 9.82796704e-12, 3.75858712e-11, ...,
9.35899785e-12, 6.98967777e-12, 5.09198000e-12],
[3.00062620e-10, 9.76252520e-12, 3.67877560e-11, ...,
8.82046279e-12, 8.25714835e-12, 5.48396000e-12],
[3.05101120e-10, 1.00383871e-11, 3.81238519e-11, ...,
8.50893319e-12, 7.30771687e-12, 6.40150000e-12]])
Причудливый график
Прекрасно, не правда ли?Я представляю это как
ax = plt.subplot(111)
img = ax.imshow(Array,extent=[linescan[0]*1e3,linescan[-1]*1e3, 0,linescan.length], aspect = 'auto', interpolation='quadric')
plt.subplots_adjust(bottom=0.1, right=0.8, top=0.9)
cb = plt.colorbar(img)
axcolor = escala
axFFT_cmin = plt.axes([0.25, 0.1, 0.65, 0.03])
axFFT_cmax = plt.axes([0.25, 0.15, 0.65, 0.03])
sFFT_cmin = Slider(axFFT_cmin, 'min', minFFT, maxFFT, valinit=FFT_min)
sFFT_cmax = Slider(axFFT_cmax, 'max', minFFT, maxFFT, valinit=FFT_max)
def updateFFT(val, s=None):
_cmin = sFFT_cmin.val
_cmax = sFFT_cmax.val
img.set_clim([_cmin, _cmax])
plt.draw()
sFFT_cmin.on_changed(updateFFT)
sFFT_cmax.on_changed(updateFFT)
#show everything
plt.show()
Однако, чтобы представить это, самый красивый способ - это повернуть его на 90 градусов по часовой стрелке.Я попытался установить пределы оси, как описано здесь: https://matplotlib.org/tutorials/intermediate/imshow_extent.html
, но я слишком плохо знаком с python (4 месяца), чтобы иметь возможность его реализовать.Matplotlib normaly представляет собой массивы массивов, отходящих сверху слева;и вы можете легко изменить это внизу, слева;но не до дна, верно.Если у кого-нибудь есть какой-нибудь совет / пример / помощь, это будет очень признательно.Спасибо.
PD: Я знаю, что могу отредактировать данные, чтобы сделать это легко, но я хочу сделать много интерактивных функций в графике, некоторые уже сделаны.Может быть, я слишком суетлив, но самый эффективный способ сделать это - не транспонировать массив в 1 000 000, а представлять их по-другому.