Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 11

PChart не выводит график

24.03.2018, 21:28. Показов 2949. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В php очень плохо разбираюсь, прошу помощи.
Вот сам скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
include("pChart/class/pDraw.class.php");
    include("pChart/class/pImage.class.php");
    include("pChart/class/pData.class.php");
$myData = new pData();
 
$db = mysqli_connect("127.0.0.1", "admin", "1234", "meteo");
$result = mysqli_query($db, "SELECT `Time`, `mm` FROM `Hidromet` ");
//Тут должно быть соединение с базой, выполнение запроса.
while (list($dt,$sum) = mysql_fetch_row($result)) {
    /* Сохранение данных в массив */
 
    $myData->addPoints($sum,"Total");
    $myData->addPoints($dt,"Labels");
};
 
$unique = date("Y.m.d_H.i");
$gsFilename_Traffic = "traffic_".$unique.".png";
 
$myData->setSerieDescription("Labels","Days");
$myData->setAbscissa("Labels");
$myData->setAxisUnit(0," KB");
 
$serieSettings = array("R"=>229,"G"=>11,"B"=>11,"Alpha"=>100);
$myData->setPalette("Total",$serieSettings);
 
$myPicture = new pImage(1250,400,$myData); // <-- Размер холста
$myPicture->setFontProperties(array("FontName"=>"fonts/tahoma.ttf","FontSize"=>8));
$myPicture->setGraphArea(50,20,1230,380); // <-- Размещение графика на холсте
$myPicture->drawScale();
$myPicture->drawBestFit(array("Alpha"=>40)); // <-- Прямая статистики
 
$myPicture->drawLineChart();
$myPicture->drawPlotChart(array("DisplayValues"=>FALSE,"PlotBorder"=>TRUE,"BorderSize"=>0,"Surrounding"=>-60,"BorderAlpha"=>50)); // <-- Точки на графике
$myPicture->drawLegend(700,10,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));// <-- Размещение легенды
$myPicture->Render("pChartPic\\".$gsFilename_Traffic);
?>
<br /><IMG SRC="pChartPic/" />
 
<?php echo $gsFilename_Traffic; ?>
Вывод на странице:
Кликните здесь для просмотра всего текста
Warning: mysql_fetch_row() expects parameter 1 to be resource, object given in W:\domains\localhost\meteo\chart.php on line 13

Warning: mysql_fetch_row() expects parameter 1 to be resource, object given in W:\domains\localhost\meteo\chart.php on line 13

Warning: mysql_fetch_row() expects parameter 1 to be resource, object given in W:\domains\localhost\meteo\chart.php on line 13

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettfbbox(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 211

Warning: imagettftext(): Invalid font filename in W:\domains\localhost\meteo\pChart\class\ pDraw.class.php on line 1023

Warning: imagepng(pChartPic\traffic_2018.03.24_17 .10.png): failed to open stream: No such file or directory in W:\domains\localhost\meteo\pChart\class\ pImage.class.php on line 151 - вижу, что ругается на то, что нет файла, как исправить не знаю.

В базе данные типа:
00:00:00, 1; 00:00:10 ,1; x00:00:20, 1

Добавлено через 42 минуты
Другой вариант, вместо графика выводятся кракозябры
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
include("pChart/pChart.class");
    include("pChart/pCache.class");
    include("pChart/pData.class");
$myData = new pData();
 
$db = mysqli_connect("127.0.0.1", "admin", "1234", "meteo");
$result = mysqli_query($db, "SELECT `Time`, `mm` FROM `Hidromet` ");
//Тут должно быть соединение с базой, выполнение запроса.
while($row = mysqli_fetch_array($db, $result)) {
    /* Сохранение данных в массив */
 
    $myData->addPoint($row["Time"],"Time");
    $myData->addPoint($row["mm"],"mm");
};
 
//устанавливаем точки с датами
//на ось абсцисс
$myData->SetAbsciseLabelSerie("Time");
//помечаем данные как предназначеные для
//отображения
$myData->AddSerie("mm");
//устанавливаем имена
$myData->SetSerieName(
mb_convert_encoding("Time",'utf-8','windows-1251'),
"Time");
//создаем график шириной в 1000 и высотой в 500 px
$graph = new pChart(1000,500);
//устанавливаем шрифт и размер шрифта
$graph->setFontProperties("Fonts/tahoma.ttf",10);
//координаты левой верхней вершины и правой нижней
//вершины графика
$graph->setGraphArea(85,30,950,400);
//рисуем заполненный четырехугольник
$graph->drawFilledRoundedRectangle(7,7,993,493,5,240,
240,240);
//теперь незаполненный для эффекта тени
$graph->drawRoundedRectangle(5,5,995,495,5,230,
230,230);
//прорисовываем фон графика
$graph->drawGraphArea(255,255,255,TRUE);
//устанавливаем данные для графиков
$graph->drawScale($myData->GetData(),
$myData->GetDataDescription(),
SCALE_NORMAL,150,150,150,true,0,2);
//рисуем сетку для графика
$graph->drawGrid(4,TRUE,230,230,230,50);
//прорисовываем линейные графики
$graph->drawLineGraph($myData->GetData(),
$myData->GetDataDescription());
// рисуем точки на графике
$graph->drawPlotGraph($myData->GetData(),
$myData->GetDataDescription(),3,2,255,255,255);
// пишем в подвале некоторый текст
$graph->setFontProperties("Fonts/tahoma.ttf",10);
$graph->drawTextBox(870,450,990,460,"Powered By pChart",
0,250,250,250,ALIGN_CENTER,TRUE,-1,-1,-1,30);
$graph->drawTextBox(805,470,990,480,"http://pchart.sourceforge.net",
0,250,250,250,ALIGN_CENTER,TRUE,-1,-1,-1,30);
$graph->drawTextBox(15,450,140,460,"Developed By kv4nt",
0,250,250,250,ALIGN_CENTER,TRUE,-1,-1,-1,30);
$graph->drawTextBox(10,470,140,480,"http://www.piarcom.com",
0,250,250,250,ALIGN_CENTER,TRUE,-1,-1,-1,30);
//ложим легенду
$graph->drawLegend(90,35,$myData->GetDataDescription(),255,255,255);
//Пишем заголовок
$graph->setFontProperties("Fonts/tahoma.ttf",10);
$graph->drawTitle(480,22,
mb_convert_encoding("График",
'utf-8','windows-1251'),
50,50,50,-1,-1,true);
//выводим в браузер
$graph->Stroke();
/**
* @return array
*/
?>
Скрин:


Добавлено через 27 минут
PHP
1
2
3
while($row = mysqli_fetch_array($db, $result))
Исправил на:
while($row = mysqli_fetch_array($result))
Добавлено через 19 минут
Заработало

Добавлено через 1 час 20 минут
Теперь такой вопрос.
Нужно вывести линейный график и столбчатую диаграмму. Создал просто $myData1 с данными для столбчатой диаграммы и рисую ее после линейной
PHP
1
2
$graph->drawPlotGraph($myData->GetData(), $myData->GetDataDescription(),3,2,255,255,255);
 $graph->drawBarGraph($myData1->GetData(),$myData1->GetDataDescription(),TRUE);
Как изменить ее цвет и сделать подпись на графике?
Вот весь код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
include("pChart/pChart.class");
    include("pChart/pCache.class");
    include("pChart/pData.class");
$myData = new pData();
$myData1 = new pData();
$db = mysqli_connect("127.0.0.1", "admin", "1234", "meteo");
$result = mysqli_query($db, "SELECT `Time`, `mm`, `deg` FROM `Hidromet` ");
//Тут должно быть соединение с базой, выполнение запроса.
while($row = mysqli_fetch_array($result)) {
    /* Сохранение данных в массив */
    $myData->addPoint($row["Time"],"Time");
    $myData1->addPoint($row["mm"],"mm");
  $myData->addPoint($row["deg"],"deg");
};
 
//устанавливаем точки с датами
//на ось абсцисс
$myData->SetAbsciseLabelSerie("Time");
$myData1->SetAbsciseLabelSerie("Time");
//помечаем данные как предназначеные для
//отображения
$myData1->AddSerie("mm");
$myData->AddSerie("deg");
//устанавливаем имена
//$myData->SetSerieName(mb_convert_encoding("Time",'utf-8','windows-1251'),"Time");
//создаем график шириной в 1000 и высотой в 500 px
$graph = new pChart(1000,500);
//устанавливаем шрифт и размер шрифта
$graph->setFontProperties("Fonts/tahoma.ttf",10);
//координаты левой верхней вершины и правой нижней
//вершины графика
$graph->setGraphArea(85,30,950,400);
//рисуем заполненный четырехугольник
$graph->drawFilledRoundedRectangle(7,7,993,493,5,240,
240,240);
//теперь незаполненный для эффекта тени
$graph->drawRoundedRectangle(5,5,995,495,5,230,
230,230);
//прорисовываем фон графика
$graph->drawGraphArea(255,255,255,TRUE);
//устанавливаем данные для графиков
$graph->drawScale($myData->GetData(), $myData->GetDataDescription(), SCALE_NORMAL,150,150,150,true,0,2);
//рисуем сетку для графика
$graph->drawGrid(4,TRUE,230,230,230,50);
 
//прорисовываем линейные графики
$graph->drawLineGraph($myData->GetData(),
$myData->GetDataDescription());
// рисуем точки на графике
$graph->drawPlotGraph($myData->GetData(), $myData->GetDataDescription(),3,2,255,255,255);
 $graph->drawBarGraph($myData1->GetData(),$myData1->GetDataDescription(),TRUE);
// пишем в подвале некоторый текст
$graph->setFontProperties("Fonts/tahoma.ttf",10);
//ложим легенду
$graph->drawLegend(90,35,$myData->GetDataDescription(),255,255,255);
//Пишем заголовок
$graph->setFontProperties("Fonts/tahoma.ttf",10);
$graph->drawTitle(480,22, mb_convert_encoding("mm + deg",'utf-8','windows-1251'),50,50,50,-1,-1,true);
//выводим в браузер
$graph->Render("Naked.png");
/**
* @return array
*/
?>
<a href="index.html">Home</a>
       <img src="Naked.png">
Cкрин вывода на страничку:
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2018, 21:28
Ответы с готовыми решениями:

pChart диаграмма
require_once &quot;pChart/pData.class&quot;; require_once &quot;pChart/pChart.class&quot;; $DataSet = new pData(); foreach...

Некорректный вывод графика на pChart
Добрый день уважаемые программеры, столкнулся со сложностями при работе с библиотекой pChart и вообще при работе с Drupal7. В общем сам...

Настройка вывода графика pChart из IIS7
Всем привет. Подскажите, кто может сталкивался с построением графика на библиотеке pChart. Суть в чем: пробую построить график по...

1
0 / 0 / 0
Регистрация: 24.03.2015
Сообщений: 11
25.03.2018, 01:12  [ТС]
Подпись сделал, надо как-то цвет теперь поменять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.03.2018, 01:12
Помогаю со студенческими работами здесь

Построение графика в PHP с использованием библиотеки PChart
Задача следующая: нужно построить график в PHP с помощью библиотеки PChart, который бы менялся при изменении входных данных, которые...

Построить график в PHP с pChart
Подскажите как построить график по данным из .txt файла с помощью pchart. Понимаю что нужно считать файл в массив, и передать это в...

pChart, скрипт php построения графика в html тегах не работает, результат - кракозябры
pChart, скрипт php построения графика в html тегах не работает. Результат - кракозябры. Взял рабочий пример pChart, заключил его в html...

Bertool не выводит график
Добрый день! Нужно построить зависимость вероятности ошибки на бит от соотношения сигнал/шум. Использую bertool. Теоретическая кривая...

Программа не запускается и не выводит график
Программа готова. Не выводит график и прочее что требуется. Выводит только статистический и вариационный ряд. Вопрос: почему? uses...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru