繁体   English   中英

具有3d条和不同条颜色的双变量直方图

[英]Bivariate histogram plot with 3d bars AND different bar colors

histogram2函数(在R2015b中添加了)具有DisplayStyle可选参数,该参数控制使用“条”(颜色均匀但高度不同)还是“小块”(高度相同0,但颜色不同)显示输出,如下所示:

rng(1337); X = rand(100,1)-0.5; Y = randn(100,1); rng('default');
figure(); 
subplot(1,2,1); hH(1) = histogram2(X, Y, 'DisplayStyle', 'bar3');
subplot(1,2,2); hH(2) = histogram2(X, Y, 'DisplayStyle', 'tile');

直方图的两种模式的演示

我想将两种模式结合起来,以得到具有不同高度且颜色不同的条形图。 如前所述,我尝试使用'DisplayStyle'选项,但它同时更改了太多视觉元素。 有人可以建议一种获得我想要的东西的方法吗?

我非常希望解决方案是histogram2对象(与例如bar3 ),因为以后使用它们会更方便。

TL; DR:
 histogram2(X, Y, 'FaceColor', 'flat'); 

那些倾向于“蛮力”方法而不是通读文档的人可能会通过深度比较两个结果对象( hH(1)hH(2) ),找到不同的属性,然后尝试从中分配期望的值来解决此问题。其他样式。 确实,这些差异出现了:

  • FaceColor :分别在“蓝色”和“平坦”图表中的“ 'auto''flat'
  • FaceLighting :分别在“蓝色”和“平坦”图表中分别为'lit''none'

然后,幸运的是,以下代码确实有效:

 hH(1).FaceColor = 'flat'; 

可在FaceColor文档中找到此工作的原因:

直方图条形颜色,指定为以下值之一:

'none' -....

'flat'条形颜色随高度而变化。 不同高度的条具有不同的颜色。 颜色是从图形或轴颜色图中选择的

'auto' -....

...较早阅读可以节省一些时间。


这里要学习的教训是:

当有大量可用的文档1时 ,我们不应该只停在与出现问题有关的第一件事上,因为一个明显的解决方案可能会显得更底层。

1具有大多数MATLAB函数的情况,对于MATLAB的图形对象尤其如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM