plot - 单个图上的多个 Y 轴
问题描述
我想做的是创造一些看起来像这样的东西,
我通过使用 Octave pcolor 和 barh 函数创建的,使用 3 个子图,子图 x 轴按比例缩放,看起来好像该图是一个图。但是,这种方法不能令人满意,因为我无法缩放或平移它,如果它实际上是一个情节,我将能够做到这一点。
如何使用 pcolor 绘制一个背景图,然后在沿 x 轴的不同点添加多个 y 轴以使用 barh 绘制水平直方图?
对于这个问题的一些背景,我正在尝试创建所谓的市场概况图表,即参见此处或此处的示例。
我还在这里的 Octave 邮件列表上交叉发布了这个问题。
解决方案
我找到了一种方法来做我想做的事。除了使用 barh 函数,还可以使用 fill 函数。
下面给出了一个最小的、可重现的例子。
## 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;
更多细节在我的一篇博文中。
推荐阅读
- java - 用另一个 ArrayList 的所有元素创建一个新的 ArrayList,除了一行代码
- r - 基于“开始和停止”字符串的子集行
- python - 读取文本文件并删除 Python 中除字母和空格以外的所有字符
- sql - 根据来自单独表的选择查询从另一个表添加列
- python - Python中列表的排列没有移位排列
- python - 在 python 中检查有关 RLE 的逻辑
- reactjs - 如何解决“:react-native-vector-icons”错误以成功构建?
- java - 访问通过 Java Webstart 加载的 JAR 文件
- ios - 使用图像缓存时展开 [String] 的问题
- excel - SOAP UI 写入数据时 Excel 公式未更新