Я использую Chart , модуль drupal, использующий Google Chart Tools .
Я успешно создал график, но моя проблема в том, что я хочу поставить целое числозначения по оси Y.Я делаю график общего количества голосов.Итак, давайте предположим, что у меня есть опрос с 55 голосами (общее количество).Диапазон оси Y должен быть до свойства максимального значения.Например, если у нас есть A, B и C, тогда A имеет 25 голосов, B имеет 10 голосов, а C имеет 20 голосов.Таким образом, диапазон оси Y должен быть равен 25 без значений с плавающей точкой, таких как 1,5 или 2,5 между ними.Вот код моей функции:
//theme the poll results block
$html = $variables['results'];
$pattern = "@class=\"text\"\>(.*)\</div\>@";
preg_match_all($pattern, $html, $choices); //extract choices
$pattern = "@style=\"width: (.*)%;\"@";
preg_match_all($pattern, $html, $votes); //extract percentages
$chart = array(
'#chart_id' => 'poll_chart' . $variables[nid],
'#type' => CHART_TYPE_BAR_V,
'#size' => chart_size(600, 350),
'#grid_lines' => chart_grid_lines(100,10 ),
'#bar_size' => chart_bar_size(30, 50),
);
// NEED TO FILL IN DATA TO MAKE CHART
for ($c=0; $c < count($choices[1]); $c++) { //make labels and values
$chart['#data_colors'][] = 'ff8e07';
$chart['#data'][$choices[1][$c]] = $votes[1][$c]; //number of votes
$chart['#legends'][] = $choices[1][$c] . " (" . $votes[1][$c] . "%)"; // labels
$chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = chart_mixed_axis_label(t($choices[1][$c]))
;
print $choice['chvotes'];
}
$chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][2][] = chart_mixed_axis_label(t('Choices'), 50);
$chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][3][] = chart_mixed_axis_label(t('Votes'), 95);
$chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][4][] = chart_mixed_axis_range_label(0, $variables['votes']);
$variables['results'] = chart_render($chart); //render graph