【问题标题】:Figuring out where to add text in a MATLAB histogram找出在 MATLAB 直方图中添加文本的位置
【发布时间】:2014-06-27 22:37:53
【问题描述】:

我有一个用一些数据生成的 MATLAB 直方图,有大约 50 个 bin。我现在需要在图表中插入一行文本,在它不会与直方图条缠结的任何地方。文本基本上是“使用的数据周期:mmm dd 到 mmm dd”(我提到这一点是为了了解所需的宽度以及必要时可以在何处拆分文本)。

我考虑的一种方法是找出一系列连续的直方图箱,其中频率(y 轴)保持小于所有频率最大值的 90%;然后,可以在靠近图表顶部的第一个 bin 开始的 x 位置打印文本。

这是一个好方法吗?如果是这样,我如何在不循环的情况下计算这一系列连续的垃圾箱?

或者有没有更好的方法根据数据自适应地放置此文本?

编辑:由于其他考虑,直方图箱的数量不再是固定的 50,而是xmax/20,其中 xmax 是最大 x 轴值。在计算该数字时,依赖于处理多个 bin 的聚合的算法可能需要考虑这种可变性。

【问题讨论】:

  • 为什么不添加“文本”作为标题?它不会干扰直方图。
  • 因为不是标题?图表已经有了标题,这只是一些相关数据,当图表被视为图像时会很有用。
  • @sundar 您必须以编程方式进行吗?您可以通过matlab图形窗口非常轻松地交互完成
  • 交互式方式目前是可行的,因为生成的图形量非常少(人眼确实使这更容易和更可靠);为了适应未来,让它自动生成会更好。

标签: matlab plot histogram


【解决方案1】:

我认为最简单的方法是使用多行标题,可以选择使用 TeX 格式来淡化附加信息。要制作多行标题,请传递一个字符串元胞数组,如下所示:

title({'\fontsize{16}Actual Title';'\fontsize{8}other info'})

在直方图上保持一致,我认为这比在图表本身上可能移动的文本看起来更整洁。

【讨论】:

  • 我喜欢 fontsize 技巧,这是一个可行的替代方案,以防最初的想法变得太难。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-04-23
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-15
  • 2013-05-07
相关资源
最近更新 更多