群体尺度算法

时间:2015-05-28 02:53:06

标签: algorithm math highcharts scale

我有一个高图(带有多个垂直轴的图表),我想普遍地对图表进行分组。现在它只由代码中的特殊数据分隔。例如:

  • 比例1约为3.0,仅包含一个最大值为2.5的图表
  • 比例2约为2000,包含三个最大值为1200的图表, 1500,1650
  • 比例3约为10000,包含两个最大值的图表 值9000和8200

我可以在每种情况下使用什么算法进行分组?

1 个答案:

答案 0 :(得分:2)

您似乎正在寻找一种算法,该算法需要多个值(绘制不同的东西)并将它们分组(将相同比例的事物分组在一起)。当您制作那些显示例如彩色地图时,会出现类似的情况。不同的区域有多丰富,只有它们将区域划分为不同的组,而不是将不同的区域划分为组。一个用于此的算法是http://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization - 我认为它并不是特别好,但是人们确实使用它,并且在文章中对它进行了很好的解释。

你也可以通过动态编程来解决这个问题,你可以使用成本函数,例如如果使用最大值为1500的刻度绘制最大值为1000的图形,则成本为(1000-1500)^ 2。将图表的最大值按顺序排序并从左到右工作。对于前k个最大值,使用最多n个组找到最佳分配,对于n = 1..k。您可以从k-1的答案中推导出k的答案。