相关疑难解决方法(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万
查看次数

图形轴的Tickmark算法

我正在寻找一种在轴上放置刻度线的算法,给定要显示的范围,显示它的宽度,以及测量刻度线的字符串宽度的功能.

例如,假设我需要在1e-6和5e-6之间显示以及以像素显示的宽度,算法将确定我应该将标记(例如)放在1e-6,2e-6,3e-6处,4e-6和5e-6.给定较小的宽度,可以确定最佳放置仅在偶数位置,即2e-6和4e-6(因为放置更多的标记将导致它们重叠).

智能算法将优先考虑10,5和2的倍数的标记.此外,智能算法将在零附近对称.

algorithm optimization paint

24
推荐指数
2
解决办法
2万
查看次数

标签 统计

algorithm ×2

charts ×1

graph ×1

optimization ×1

paint ×1