通常使用不同的形状(例如圆形,正方形,三角形,菱形,星形,五边形和六角形)来表示科学图中的不同数据集。这些形状可能会更加复杂,以允许在一个图上区分甚至更多的数据集。这是行业标准科学绘图软件Origin中内置的此类形状的子集:
Origin产生的绘图上的形状易于区分,并且看起来几乎相等。我的问题是:如何实现这种效果?
我的第一个想法是,如果形状的边界框具有相同的大小,则形状看起来大小相等。但是我很快意识到这是不对的。此外,边界框不能用作创建此类形状的基础,因为对于某些形状,边界框的中心与形状的中心不一致:
我的第二个想法是,如果形状具有相等的面积,则它们看起来大小相等。上图的形状区域为:
{4, π, 2, 1.29904, 1.12257}
让我们缩放形状,使所有区域都等于磁盘的面积:
很难相信,但是所有这些数字都有相等的面积!显然,它们看起来不相等。
在第一次尝试自己找到原理之后,我决定检查如何在Origin中解决问题。因此,我在Origin中创建了一个具有基本形状的散点图,将其导出为PDF,然后在Mathematica 10中导入。然后,我计算了形状的面积并获得了下表(所有面积都是相对于磁盘面积而言的):
shape area
-----------------------
square 0.957802
disk 1
diamond 1.03429
triangle 0.782499
star 0.489003
hexagon 1.01036
pentagon 1.03624
首先,我们看到菱形(只是一个以45°旋转的正方形)的面积大于正方形。这是令人惊讶的,甚至感觉是不正确的实现。但是从视觉上看,差异是显而易见的。至于其他形状,它们在图上看起来确实很相似,但它们占据的面积却大不相同,并且线性尺寸也不同。我无法揭示Origin开发人员选择的形状比例背后的任何简单逻辑原理。看来他们已经按比例放大了它们。
是否有任何有关形状大小感知的研究工作?
为科学地块选择地块标记的相对大小的最佳实践是什么?