Plot 单个绘图倍频程上的多个Y轴

Plot 单个绘图倍频程上的多个Y轴,plot,histogram,octave,axes,Plot,Histogram,Octave,Axes,我想做的是创造出这样的东西 我使用倍频程pcolor和barh函数创建了它,使用3个子图,子图x轴被缩放,看起来就像一个图。然而,这种方法并不令人满意,因为如果它实际上是一个绘图,我无法在它上缩放或平移 如何使用pcolor绘制一个背景图形,然后在x轴的不同点添加多个y轴,以使用barh绘制水平直方图 关于这个问题的一些背景知识,我正在尝试创建一个所谓的市场概况图,即参见或 我也在Octave邮件列表上交叉发布了这个问题 我找到了做我想做的事的方法。可以使用fill函数代替barh函数 下面给

我想做的是创造出这样的东西

我使用倍频程pcolor和barh函数创建了它,使用3个子图,子图x轴被缩放,看起来就像一个图。然而,这种方法并不令人满意,因为如果它实际上是一个绘图,我无法在它上缩放或平移

如何使用pcolor绘制一个背景图形,然后在x轴的不同点添加多个y轴,以使用barh绘制水平直方图

关于这个问题的一些背景知识,我正在尝试创建一个所谓的市场概况图,即参见或


我也在Octave邮件列表上交叉发布了这个问题

我找到了做我想做的事的方法。可以使用fill函数代替barh函数

下面给出了一个最小的、可重复的示例

## create y and x axes for chart
y_max = max( high_round ) + max_tick_range * tick_size ;
y_min = min( low_round ) - max_tick_range * tick_size ;
y_ax = ( y_min : tick_size : y_max )' ;
end_x_ax_freespace = 5 ;

x_ax = ( 1 : 1 : numel( open ) + end_x_ax_freespace )' ;
colormap( 'viridis' ) ; pcolor( x_ax , y_ax , vp_z' ) ; shading interp ; axis tight ;

## plot the individual volume profiles
hold on ;
scale_factor = 0.18 ; 
fill( vp( 1 , : ) .* scale_factor , y_ax' , [99;99;99]./255 ) ; 
fill( vp( 2 , : ) .* scale_factor .+ 50 , y_ax' , [99;99;99]./255 ) ;
fill( vp( 3 , : ) .* scale_factor .+ 100 , y_ax' , [99;99;99]./255 ) ;

hold off;

更多关于a的详细信息我找到了一种做我想做的事情的方法。可以使用fill函数代替barh函数

下面给出了一个最小的、可重复的示例

## create y and x axes for chart
y_max = max( high_round ) + max_tick_range * tick_size ;
y_min = min( low_round ) - max_tick_range * tick_size ;
y_ax = ( y_min : tick_size : y_max )' ;
end_x_ax_freespace = 5 ;

x_ax = ( 1 : 1 : numel( open ) + end_x_ax_freespace )' ;
colormap( 'viridis' ) ; pcolor( x_ax , y_ax , vp_z' ) ; shading interp ; axis tight ;

## plot the individual volume profiles
hold on ;
scale_factor = 0.18 ; 
fill( vp( 1 , : ) .* scale_factor , y_ax' , [99;99;99]./255 ) ; 
fill( vp( 2 , : ) .* scale_factor .+ 50 , y_ax' , [99;99;99]./255 ) ;
fill( vp( 3 , : ) .* scale_factor .+ 100 , y_ax' , [99;99;99]./255 ) ;

hold off;
有关