WitamCytat
Nie lepiej obliczyć całkowitą liczbę głosów i na jej podstawie utworzyć procentowy wykres??
Pozwolicie, że sie nie zgodzę?
Gdyby na podstawie wszystkich głosów obliczyć procentowy udział każdej z nich, to wykres będzie brzydki! Żadne z wyników nie dojdzie do końca osi współrzędnych (jeśli mogę to tak nazwać).
Załóżmy, że będą 2 słupli, razem 9 głosów. Jeden słupek ma 6, kolejny 3 głosy. No i głupia sytuacja, bo wykres jest przewidziany na 9 głosów, a max słupek ma 6! Tak nie może być.
Należy przyjąć, że największa ilość głosów to max wykresu. No i teraz obliczyć stosunek, czyli dla pierwszej wypowiedzi słupek wyniesie 100% (6 głosów), a dla drugiej 50% (3 głosy). Trzeba jeszcze obliczyć współczynnik (ważna rzecz).
Współczynnik to liczba która odpowiada za prawidłowe wyświetlanie. Załóżmy, że nasz max słupek ma 100px. Tak więc współczynnik będzie równy 100(px)/6(głosy)=16,67. Teraz możemy spokojnie i bez obaw obliczyć wysokość kolejnego słupka, tj. 16,67(współczynnik)*3(głosy)=50(px).
Moze to trochę zamieszałem, ale wg. mnie to najlepszy sposób na dobre, ładne i prawidłowe wyświetlenie danych z sondy czy statystyk. Uzyskujemy przez to peną kontrolę nad słupkami, bo w tym obliczeniach jedyną stałą wartością jest wysokość wykresu (założone 100px). Inne rzeczy są już liczone dynamicznie i zawsze wyświetlone są optymalnie do wysokości wykresu.
Zachęcam do testów i oczywiście radzę użyć takich funkcji jak round(), ceil() itp dla zaokrąglania wyników dla graficznych słupków do INT - bo jak przedstawić 0,5 px

Sorki za elaborat - starałem się skrócić

P.S: Przykład dla wcześniejszych wypowiedzi pokazałby, że biorąc pod uwagę np. 20 odpowiedzi, z łączną suma 100 głosów, to średnio max słupek dochodziłby do 1/5 max wysokości