python中bar是什么_python-如何添加一个单独的colobar,它将显示来...

我想做的是添加一个颜色条(在下图的右侧),该颜色条将显示两个子图的颜色条(它们的比例相同).

另一件事对我来说真的没有意义,就是为什么我尝试在代码末尾绘制的线没有绘制(它们应该是两个图中心的水平线)

谢谢您的帮助.

这是代码:

idx=0

b=plt.psd(dOD[:,idx],Fs=self.fs,NFFT=512)

B=np.zeros((2*len(self.Chan),len(b[0])))

B[idx,:]=20*log10(b[0])

c=plt.psd(dOD_filt[:,idx],Fs=self.fs,NFFT=512)

C=np.zeros((2*len(self.Chan),len(b[0])))

C[idx,:]=20*log10(c[0])

for idx in range(2*len(self.Chan)):

b=plt.psd(dOD[:,idx],Fs=self.fs,NFFT=512)

B[idx,:]=20*log10(b[0])

c=plt.psd(dOD_filt[:,idx],Fs=self.fs,NFFT=512)

C[idx,:]=20*log10(c[0])

## Calculate the color scaling for the imshow()

aux1 = max(max(B[i,:]) for i in range(size(B,0)))

aux2 = min(min(B[i,:]) for i in range(size(B,0)))

bux1 = max(max(C[i,:]) for i in range(size(C,0)))

bux2 = min(min(C[i,:]) for i in range(size(C,0)))

scale1 = 0.75*max(aux1,bux1)

scale2 = 0.75*min(aux2,bux2)

fig, axes = plt.subplots(nrows=2, ncols=1,figsize=(7,7))#,sharey='True')

fig.subplots_adjust(wspace=0.24, hspace=0.35)

ii=find(c[1]>=frange)[0]

## Making the plots

cax=axes[0].imshow(B, origin = 'lower',vmin=scale2,vmax=scale1)

axes[0].set_ylim((0,2*len(self.Chan)))

axes[0].set_xlabel(' Frequency (Hz) ')

axes[0].set_ylabel(' Channel Number ')

axes[0].set_title('Pre-Filtered')

cax2=axes[1].imshow(C, origin = 'lower',vmin=scale2,vmax=scale1)

axes[1].set_ylim(0,2*len(self.Chan))

axes[1].set_xlabel(' Frequency (Hz) ')

axes[1].set_ylabel(' Channel Number ')

axes[1].set_title('Post-Filtered')

axes[0].annotate('690nm', xy=((ii+1)/2, len(self.Chan)/2-1),

xycoords='data', va='center', ha='right')

axes[0].annotate('830nm', xy=((ii+1)/2, len(self.Chan)*3/2-1 ),

xycoords='data', va='center', ha='right')

axes[1].annotate('690nm', xy=((ii+1)/2, len(self.Chan)/2-1),

xycoords='data', va='center', ha='right')

axes[1].annotate('830nm', xy=((ii+1)/2, len(self.Chan)*3/2-1 ),

xycoords='data', va='center', ha='right')

axes[0].axis('tight')

axes[1].axis('tight')

## Set up the xlim to aprox frange Hz

axes[0].set_xlim(left=0,right=ii)

axes[1].set_xlim(left=0,right=ii)

## Make the xlabels become the actual frequency number

ticks = linspace(0,ii,10)

tickslabel = linspace(0.,frange,10)

for i in range(10):

tickslabel[i]="%.1f" % tickslabel[i]

axes[0].set_xticks(ticks)

axes[0].set_xticklabels(tickslabel)

axes[1].set_xticks(ticks)

axes[1].set_xticklabels(tickslabel)

## Draw a line to separate the two different wave lengths, and name each region

l1 = Line2D([0,frange],[28,28],ls='-',color='black')

axes[0].add_line(l1)

axes[1].add_line(l1)

这是它的图形:

如果需要更多信息,请询问.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值