群体尺度算法
Algorithm for group scales
我有一个图表(具有多个垂直轴的图表),我想对图表进行通用分组。现在它仅由代码中的特殊数据分隔。例如:
- 比例 1 约为 3.0,仅包含一个最大值为 2.5 的图表
- 比例尺 2 约为 2000,包含三个最大值为 1200 的图表,
1500、1650
- 比例 3 约为 10000,包含两个图表,最大值
值 9000 和 8200
在每种情况下我都可以使用哪种分组算法?
您似乎正在寻找一种算法,该算法采用多个值(要绘制的不同事物)并将它们分类为组(将以相同比例绘制的事物分组在一起)。当您制作那些显示例如不同的地区有多么丰富,只是他们把地区分成组,而不是把不同的东西分成组。用于此的一种算法是 http://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization - 我不认为它特别好,但人们确实使用它并且在文章中很好地解释了它。
你也可以用动态规划来解决这个问题,你有一个成本函数,例如如果您使用最大值为 1500 的比例绘制最大值为 1000 的图形,则成本为 (1000-1500)^2。将图形的最大值排序并从左到右工作。对于前 k 个最大值,使用最多 n 个组找到最佳分配,其中 n = 1..k。您可以从 k-1 的答案推导出 k 的答案。
我有一个图表(具有多个垂直轴的图表),我想对图表进行通用分组。现在它仅由代码中的特殊数据分隔。例如:
- 比例 1 约为 3.0,仅包含一个最大值为 2.5 的图表
- 比例尺 2 约为 2000,包含三个最大值为 1200 的图表, 1500、1650
- 比例 3 约为 10000,包含两个图表,最大值 值 9000 和 8200
在每种情况下我都可以使用哪种分组算法?
您似乎正在寻找一种算法,该算法采用多个值(要绘制的不同事物)并将它们分类为组(将以相同比例绘制的事物分组在一起)。当您制作那些显示例如不同的地区有多么丰富,只是他们把地区分成组,而不是把不同的东西分成组。用于此的一种算法是 http://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization - 我不认为它特别好,但人们确实使用它并且在文章中很好地解释了它。
你也可以用动态规划来解决这个问题,你有一个成本函数,例如如果您使用最大值为 1500 的比例绘制最大值为 1000 的图形,则成本为 (1000-1500)^2。将图形的最大值排序并从左到右工作。对于前 k 个最大值,使用最多 n 个组找到最佳分配,其中 n = 1..k。您可以从 k-1 的答案推导出 k 的答案。