2016-04-20 2 views
0

Я делаю визуализацию для вейвлет-представления. Мне нужно, чтобы подготовить сюжет, подобный этому на правой стороне:Визуализация коэффициентов всплесков для разных уровней деконструкции

Image

Я пытался достичь этой цели с Spectogram, и я пытаюсь для более часа, чтобы найти, по крайней мере, название такого участка ,

Этот график представляет коэффициенты деталей вейвлет-преобразования на разных уровнях (1, 2, 3 и 4). С левой стороны вы видите функцию с порогом. Значение коэффициентов представлено цветом (черный, близким к 0, более высокое значение коричневого цвета).

С каждым уровнем вейвлет-разложения количество коэффициентов уменьшается на половину. Таким образом, один уровень малых диапазонов выборок, четыре уровня в четыре раза больше образцов.

Как я могу это сделать?

ответ

1

Ну, ваш вопрос принимает на себя некоторые другие вопросы, но я думаю, вы можете искать pcolormesh. Например используется этот способ (я положу его в grid так же, как ваш пример изображения, данные случайным образом):

import matplotlib.pyplot as plt 
import numpy as np 

ax1 = plt.subplot2grid((4,4),(0, 0),rowspan=1,colspan=1) 
ax2 = plt.subplot2grid((4,4),(1, 0),rowspan=1,colspan=1) 
ax3 = plt.subplot2grid((4,4),(2, 0),rowspan=1,colspan=1) 
ax4 = plt.subplot2grid((4,4),(3, 0),rowspan=1,colspan=1) 

ax5 = plt.subplot2grid((4,4),(0, 1),rowspan=2,colspan=3) 
ax6 = plt.subplot2grid((4,4),(2, 1),rowspan=2,colspan=3) 

ax1.plot(range(100),np.random.randint(-100,100,100)/np.arange(1,101,1)**1,color='green') 
ax1.axhline(10,color='orange',linestyle='--') 
ax1.axhline(-10,color='orange',linestyle='--') 
ax1.set_ylim(-20,20) 
ax1.set_xticks([]) 
ax1.set_ylabel('D4',rotation=0) 

ax2.plot(range(100),np.random.randint(-100,100,100)/np.arange(1,101,1)**1,color='green') 
ax2.axhline(10,color='orange',linestyle='--') 
ax2.axhline(-10,color='orange',linestyle='--') 
ax2.set_ylim(-20,20) 
ax2.set_xticks([]) 
ax2.set_ylabel('D3',rotation=0) 

ax3.plot(range(100),np.random.randint(-100,100,100)/np.arange(1,101,1)**1,color='green') 
ax3.axhline(10,color='orange',linestyle='--') 
ax3.axhline(-10,color='orange',linestyle='--') 
ax3.set_ylim(-20,20) 
ax3.set_xticks([]) 
ax3.set_ylabel('D2',rotation=0) 

ax4.plot(range(100),np.random.randint(-100,100,100)/np.arange(1,101,1)**1,color='green') 
ax4.axhline(10,color='orange',linestyle='--') 
ax4.axhline(-10,color='orange',linestyle='--') 
ax4.set_ylim(-20,20) 
#ax4.set_xticks([]) 
ax4.set_ylabel('D1',rotation=0) 

X,Y = np.meshgrid(range(1000),range(4)) 
Z = np.random.randint(0,100,(4,1000)) 

ax5.pcolormesh(X,Y,Z,cmap = 'copper') 
ax5.set_yticks([i for i in range(4)]) 

Zm = np.ma.masked_where(Z<90,Z) 
ax6.pcolormesh(X,Y,Zm,cmap = 'copper') 
ax6.set_yticks([i for i in range(4)]) 

plt.show() 

Результаты заключается в следующем:

subplot2grid and pcolormesh

+0

То, что что я искал. Ammmazzzinggg !! : D Большое спасибо. –

Смежные вопросы