相关疑难解决方法(0)

图上"漂亮"网格线间隔的算法

我需要一个相当聪明的算法来为图形(图表)提出"漂亮"的网格线.

例如,假设条形图的值为10,30,72和60.您知道:

最小值:10最大值:72范围:62

第一个问题是:你从什么开始?在这种情况下,0将是直观的值,但这不会阻碍其他数据集,所以我猜:

网格最小值应为0或低于范围内数据最小值的"nice"值.或者,可以指定.

网格最大值应该是该范围内最大值之上的"漂亮"值.或者,可以指定它(例如,如果显示百分比,则可能需要0到100,而不管实际值如何).

应该指定范围内的网格线(刻度线)的数量或给定范围内的数字(例如3-8),使得值"好"(即圆数)并且最大化图表区域的使用.在我们的例子中,80将是一个合理的最大值,因为它将使用90%的图表高度(72/80),而100将产生更多的浪费空间.

有人知道这个算法很好吗?语言是无关紧要的,因为我将按照我的需要实现它.

algorithm charts graph

61
推荐指数
5
解决办法
4万
查看次数

显示从最小值到最大值的轴 - 计算比例和标签

编写例程以在水平轴上显示数据(使用PHP gd2,但这不是重点).

轴开始于$min$max并显示在金刚石$result,这样的图像将围绕300像素宽和高30像素,如下:

例如http://www.testwolke.de/profile.png

另外,在上述的例子中,$min=0,$max=3,$result=0.6.现在,我需要计算一个有意义的比例和标签,在上面的例子中,例如虚线0 .25 .50 .75 1 1.25 ... up to 3,数字标签位于0 1 2 3.

如果$min=-200$max=600,虚线应该在-200 -150 -100 -50 0 50 100 ... up to 600,数字标签位于-200 -100 0 100 ... up to 600.

$min=.02$max=5.80,虚线.02 .5 1 1.5 2 2.5 ... 5.5 5.8和数字.02 1 2 3 4 5 …

php algorithm php-gd axis-labels

6
推荐指数
2
解决办法
3069
查看次数

标签 统计

algorithm ×2

axis-labels ×1

charts ×1

graph ×1

php ×1

php-gd ×1