我正在尝试将色条添加到光谱图中.我已经尝试了我在网上找到的每一个例子和问题线程,但没有人解决过这个问题
请注意,'spl1'(数据拼接1)是来自ObsPy的跟踪.
我的代码是:
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.75, 0.7, 0.2]) #[left bottom width height]
ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.60], sharex=ax1)
ax3 = fig.add_axes([0.83, 0.1, 0.03, 0.6])
t = np.arange(spl1[0].stats.npts) / spl1[0].stats.sampling_rate
ax1.plot(t, spl1[0].data, 'k')
ax,spec = spectrogram(spl1[0].data,spl1[0].stats.sampling_rate, show=False, axes=ax2)
ax2.set_ylim(0.1, 15)
fig.colorbar(spec, cax=ax3)
Run Code Online (Sandbox Code Playgroud)
它出现了错误:
Traceback (most recent call last):
File "<ipython-input-18-61226ccd2d85>", line 14, in <module>
ax,spec = spectrogram(spl1[0].data,spl1[0].stats.sampling_rate, show=False, axes=ax2)
TypeError: 'Axes' object is not iterable
Run Code Online (Sandbox Code Playgroud)
迄今为止的最佳结果:
用以下代码替换上面的最后3行:
ax = spectrogram(spl1[0].data,spl1[0].stats.sampling_rate, show=False, axes=ax2)
ax2.set_ylim(0.1, 15)
fig.colorbar(ax,cax=ax3)
Run Code Online (Sandbox Code Playgroud)
产生这个: …
我正在寻找一种方法来获得适合海拔的颜色图matplotlib.
cmap' terrain'看起来很棒,但颜色缩放不是基于零(即如果比例为0-> 5000m,0-> 1000m范围可能是蓝色阴影,你可以认为是低于海平面)
Matlab函数等效于:
demcmap
让matplotlib在零高程标记周围移动地形色彩图的绿色/棕色和蓝色的最佳方法是什么?