Я уже довольно давно работал над созданием графика с использованием динамических данных. Я следую этому учебному пособиюAmCharts с MySQL
http://blog.amcharts.com/2011/03/amcharts-javascript-tutorials-part-2.html
У меня есть PHP-файл, который работает, и успешно опрашивает сервер MYSQL Я создал, и создает текстовый файл.
пока что у меня всего 16 записей в моей базе данных, однако у меня есть вторая java-программа, которая очищает мою схему и репопулирует ее всякий раз, когда она выполняется .... так что данные не останутся прежними все время.
В моей текстовый файл, формат моих данных выглядит следующим образом:
секунд, нити \ п
Я отслеживанием общего количества активных потоков моей машины.
Используя данные в текстовом файле, общем количестве активных потоков и AmCharts, я пытаюсь создать граф. Однако, похоже, это не работает. Я тщательно просмотрел свой код, но не могу понять, почему он не работает. Однако, когда я создаю график со статическими данными, он работает ... красиво, что я могу добавить.
Так что мой вопрос: что я делаю неправильно? Или что вы, ребята, думаете, проблема?
это мой HTML код:
<html>
<head>
<meta http-equiv="Content-Type" content ="text/html; charset = utf-8">
<title>Active Threads</title>
<script src="js\amcharts.js" type="text/javascript"></script>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript">
/*var chartData = [{ country: "USA", visits: 4252 },
{ country: "China", visits: 1882 },
{ country: "Japan", visits: 1809 },
{ country: "Germany", visits: 1322 },
{ country: "UK", visits: 1122 },
{ country: "France", visits: 1114 },
{ country: "India", visits: 984 },
{ country: "Spain", visits: 711 },
{ country: "Netherlands", visits: 665 },
{ country: "Russia", visits: 580 },
{ country: "South Korea", visits: 443 },
{ country: "Canada", visits: 441 },
{ country: "Brazil", visits: 395 },
{ country: "Italy", visits: 386 },
{ country: "Australia", visits: 384 },
{ country: "Taiwan", visits: 338 },
{ country: "Poland", visits: 328}];
window.onload = function() {
var chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
chart.categoryField = "country";
chart.margingTop = 15;
chart.marginLeft = 55;
chart.marginRight = 15;
chart.margingBottom = 80;
chart.angle = 30;
chart.depth3D = 15;
var catAxis = chart.categoryAxis;
catAxis.gridCount = chartData.length;
catAxis.labelRotation = 90;
var graph = new AmCharts.AmGraph();
graph.balloonText = "[[category]]: [[value]]";
graph.valueField = "visits"
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 0.8;
chart.addGraph(graph);
chart.write('chartContainer');
}*/
var chart;
var dataProvider;
window.onload = function(){
createChart();
loadCSV("secondsAndThreads.txt");
}
function loadCSV(file){
if (window.XMLHttpRequest){
var request = new XMLHttpRequest();
}
else {
var request = new ActiveXObject('Microsoft.XMLHTTP');
}
request.open('GET', file, false);
request.send();
parseCSV(request.responseText);
}
function parseCSV(data){
data = data.replace (/\r\n/g, "\n");
data = data.replace (/\r/g, "\n");
var rows = data.split("\n");
dataProvider = [];
for (var i = 0; ; i < rows.length; i++){
if(rows[i]){
var column = rows[i].split(",");
var seconds = column[0];
var threads = column[1];
var dataObject = {seconds:seconds, threads:threads};
dataProvider.push(dataObject);
}
}
alert(column);
chart.dataProvider = dataProvider;
chart.validateData();
}
function createChart(){
chart = new AmCharts.AmSerialChart();
chart.categoryField = "seconds";
var graph = new AmCharts.AmGraph();
graph.valueField = "threads";
graph.type = "column";
chart.addGraph(graph);
chart.write('chartdiv');
}
</script>
</head>
<body style="background-color: #EEEEEE">
<div id = "chartdiv" style= "width:900px; height:500px; background- color:#FFFFFF"></div>
<br>
<br>
</body>
</html>
Я закомментировал граф со статическими данными (который работает), и не являющийся комментарий часть (вторая часть) является тот, который отказывается работать. Файл html, файл style.css и php-файл, который запрашивает мою базу данных, находятся в этом каталоге.
C:\wamp\www\amCharts\amcharts
.js файл находится в директории
C:\wamp\www\amCharts\amcharts\js
Я использую WAMP, и открытие файла HTML в хроме. Наконец, динамические данные НЕ совпадают с данными статической диаграммы. Статические данные из стран были теми же данными, что и учебник AmCharts. Я думаю, что это вся соответствующая информация; поэтому, если вы, ребята, можете мне помочь, я бы очень признателен.
In (var i = 0;; i
stef77
Проблема с точкой с запятой исправлена! Еще нет графика:/ Я не уверен, я не знаю, как проверить. Я не знаю, как сделать инструкцию «print», например, вы сделали бы на C или Java, чтобы проверить, какие мои переменные содержат – engineerKev
. Например, вы можете установить Firebug на Firefox. Затем вы можете сделать console.log (dataProvider); соответственно console.log (chartData); чтобы посмотреть, что происходит. Firebug - отличный инструмент для поддержки вас при отладке различными способами, стоит немного поиграть с ним. – stef77