したがって、これは PHP というよりも数学の問題だと思いますが、他にどこに行くのかわかりません。だから私はすべてのユーザーからの評価分布を示すテレビ番組のウェブサイトを持っています. http://broadcasted.tv/user/2/albertmarch/とhttp://broadcasted.tv/user/21/freshprincelive/で 2 つの例を見ることができます。現時点で各バーを計算するために使用する式は次のとおりです。
$division = $scores[$i][1] / $countvotestotal;
//we divide the number of scores for each score (1 to 10) by the total number of score
$percentage = $division * 100;
$pixels = 180;
//max number of pixels
$pixelsactual = ($percentage / 100) * $pixels;
$addthat = $percentage * 3.4;
//add some pixels to give more relief to the charts (otherwise, with many ratings, you end having bars between 10px and 20px)
$finalpixels = $pixelsactual + $addthat;
if ($finalpixels > 130) {
$finalpixels = 130;
}
//and this is a fix that I use, basically, if there is only one rating the biggest bar is gonna be huge (especially because of the $addthat var which add some px with a ratio to the final pixels value)
問題は、一部のグラフが (最初のプロファイルのように) たわごとに見えるか、別の値がhttp://broadcasted.tv/user/98/armchairtv/のようにバーのサイズが同じであることです。
任意の推奨事項をいただければ幸いです。ありがとう