python - Matplotlib, how to scale an axis -
i used specgram plot spectrogram of signal. however, y axis display frequency in hz. want know how can scale down factor of 1000 instead of 6000 becomes 6, , can put label khz instead of hz. thanks
i have problem subplot label on right overlap left subplot when image window zoom smaller size. idea how avoid that?
self.trjfig = plt.figure() self.trjfigcanvas = figurecanvas(self.trjfig) self.trjfigax = self.trjfig.add_subplot(121) self.trjfigax.set_xlim([-0.5, 0.5]) self.trjfigax.set_ylim([-0.5, 0.5]) self.trjfigax.set_title('trajectory') self.trjfigax.plot(self.data[:, 0], self.data[:, 1], ".") self.specfigax = self.trjfig.add_subplot(122) self.specfigax.set_title('spectrogram') self.specfigax.set_ylabel("frequency (hz)") self.specfigax.set_xlabel("time (s)") self.trjfigtoolbar = navigationtoolbar(self.trjfigcanvas,self) self.specfigax.specgram(self.velsound, nfft = 1024, fs = fs, noverlap = 900, cmap= plt.cm.gist_heat) self.trjfigcanvas.draw()

Comments
Post a Comment