gpt4 book ai didi

php - 按天计算受欢迎程度的公式?

转载 作者:可可西里 更新时间:2023-11-01 08:55:45 25 4
gpt4 key购买 nike

我有一个基本上是日历的应用程序,用户可以输入每一天的事件。现在我必须找到最好的方式来显示整个月的日历,同时突出显示最繁忙的日子。

显然颜色是这里的选择,但我想知道你们会怎么做。我集思广益如下:

  • 获取一天的 max 事件,然后将其除以可用颜色数。因此,如果一天有 30 个事件并且我们有 3 种颜色,第一个是 0 到 9,接下来是 10 到 19,最后一个是 20。
  • 找到平均值并将它除以colors/2,因此如果平均值是 10 个事件并且我们有 3 种颜色,则数学公式为 10/1.5 = 6.66这意味着第一个颜色范围将从 0 到 6.66,第二个颜色范围从 6.67 到 13.32,最后一个从 13.33 开始。

但是,我不确定这是解决此问题的最佳方法。两者都是线性的,如果我们的平均值约为 20 且最大值有 100 个事件,第一个可能会把事情搞得一团糟,只会显示两种颜色。

我不是静态学家,但我认为这个问题可以用百分位数和四分位数来解决,但我不太确定如何实现它。

谢谢。

最佳答案

我会建议一种常用于构建标签云的对数分布算法。标签是你的天数,标签数是一天的事件数。

PHP 和 Python 的良好实现(尚未正确检查)似乎是 this one .这是一个例子:

$tags = array(
array('tag' => 1,
'count' => 10),
array('tag' => 2,
'count' => 30),
array('tag' => 3,
'count' => 5),
array('tag' => 4,
'count' => 5));
$colours = array('green', 'yellow', 'red');
foreach(tagcloud($tags, 0, count($colours) - 1, 0) as $d) {
echo '<div style="background-color:' . $colours[floor($d['size'])] . '">Day: '.$d['tag'].' Events: '.$d['count'].'</div>';
}

关于php - 按天计算受欢迎程度的公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com