2012-02-26 9 views
0

私はhtml/css/phpで横棒グラフを作成しています。最初の値は100%とし、幅は425ピクセルです。それ以降(それ以下)の値はすべて、幅が425pxの割合として計算される必要があります。幅の数値の割合を取得

最初の値は63で、幅は425ピクセル(100%)です。次は50、次に31,27などの場合は次の幅を把握する必要があります。

マークアップなどでうまくいきます。割合によって乗算100

によって

+0

と等しいですしかし、プログラミングではなく、基本的な数学についての質問です。 –

答えて

2
function calc_width($max_width, $max_value, $value) { 
    return $max_width * $value/$max_value; 
} 

$value/$max_widthが適切な割合であるため、あなただけの複数のフラクションによる最大幅を取得することができます後の値に適した幅。

+0

例と説明のおかげで琥珀! – iamjonesy

2

除算総

例えば

425/100 = 4.25 

25% = 4.25 x 25 
1

最高の数値を100で割って1パーセントを求め、必要なパーセンテージで乗算します。

$maxWidth = 425; //The highest width 
$onePercentage = $maxWidth/100; //Calculate one percentage 
$values[31] = $onePercentage * 31; //Times 31 
1

それだけでは「100%で除算をし、割合を掛け」と言って魅力的だが、それは長期的に不正確になりますので、これは間違ってです。これを行う正しい方法は、幅とパーセンテージの配列を維持し、最初と前の累積幅から各幅を計算することです。 25%の4つに分割する29pxの

たとえば、あなたがする場合は、:

29px 7pxの* 25%= 7px
4の幅は、28px

に等しく、累積計算あり:

29px *
29px×50%= 15ピクセル
29px 7 * 75%は= 22px
29px * 100%= 29px
4幅、8、7、7px私はdownvoteなかっ29px

関連する問題