You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
302 lines
12 KiB
302 lines
12 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
|
<html> |
|
|
|
<head> |
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
<title>amCharts examples</title> |
|
<link rel="stylesheet" href="style.css" type="text/css"> |
|
<script src="../amcharts/amcharts.js" type="text/javascript"></script> |
|
<script src="../amcharts/serial.js" type="text/javascript"></script> |
|
|
|
<script> |
|
// note, we have townName field with a name specified for each datapoint and townName2 with only some of the names specified. |
|
// we use townName2 to display town names next to the bullet. And as these names would overlap if displayed next to each bullet, |
|
// we created this townName2 field and set only some of the names for this purpse. |
|
var chartData = [ |
|
{ |
|
"date": "2012-01-01", |
|
"distance": 227, |
|
"townName": "New York", |
|
"townName2": "New York", |
|
"townSize": 25, |
|
"latitude": 40.71, |
|
"duration": 408 |
|
}, |
|
{ |
|
"date": "2012-01-02", |
|
"distance": 371, |
|
"townName": "Washington", |
|
"townSize": 14, |
|
"latitude": 38.89, |
|
"duration": 482 |
|
}, |
|
{ |
|
"date": "2012-01-03", |
|
"distance": 433, |
|
"townName": "Wilmington", |
|
"townSize": 6, |
|
"latitude": 34.22, |
|
"duration": 562 |
|
}, |
|
{ |
|
"date": "2012-01-04", |
|
"distance": 345, |
|
"townName": "Jacksonville", |
|
"townSize": 7, |
|
"latitude": 30.35, |
|
"duration": 379 |
|
}, |
|
{ |
|
"date": "2012-01-05", |
|
"distance": 480, |
|
"townName": "Miami", |
|
"townName2": "Miami", |
|
"townSize": 10, |
|
"latitude": 25.83, |
|
"duration": 501 |
|
}, |
|
{ |
|
"date": "2012-01-06", |
|
"distance": 386, |
|
"townName": "Tallahassee", |
|
"townSize": 7, |
|
"latitude": 30.46, |
|
"duration": 443 |
|
}, |
|
{ |
|
"date": "2012-01-07", |
|
"distance": 348, |
|
"townName": "New Orleans", |
|
"townSize": 10, |
|
"latitude": 29.94, |
|
"duration": 405 |
|
}, |
|
{ |
|
"date": "2012-01-08", |
|
"distance": 238, |
|
"townName": "Houston", |
|
"townName2": "Houston", |
|
"townSize": 16, |
|
"latitude": 29.76, |
|
"duration": 309 |
|
}, |
|
{ |
|
"date": "2012-01-09", |
|
"distance": 218, |
|
"townName": "Dalas", |
|
"townSize": 17, |
|
"latitude": 32.8, |
|
"duration": 287 |
|
}, |
|
{ |
|
"date": "2012-01-10", |
|
"distance": 349, |
|
"townName": "Oklahoma City", |
|
"townSize": 11, |
|
"latitude": 35.49, |
|
"duration": 485 |
|
}, |
|
{ |
|
"date": "2012-01-11", |
|
"distance": 603, |
|
"townName": "Kansas City", |
|
"townSize": 10, |
|
"latitude": 39.1, |
|
"duration": 890 |
|
}, |
|
{ |
|
"date": "2012-01-12", |
|
"distance": 534, |
|
"townName": "Denver", |
|
"townName2": "Denver", |
|
"townSize": 18, |
|
"latitude": 39.74, |
|
"duration": 810 |
|
}, |
|
{ |
|
"date": "2012-01-13", |
|
"townName": "Salt Lake City", |
|
"townSize": 12, |
|
"distance": 425, |
|
"duration": 670, |
|
"latitude": 40.75, |
|
"dashLength": 8, |
|
"alpha":0.4 |
|
}, |
|
{ |
|
"date": "2012-01-14", |
|
"latitude": 36.1, |
|
"duration": 470, |
|
"townName": "Las Vegas", |
|
"townName2": "Las Vegas" |
|
}, |
|
{ |
|
"date": "2012-01-15" |
|
}, |
|
{ |
|
"date": "2012-01-16" |
|
}, |
|
{ |
|
"date": "2012-01-17" |
|
}, |
|
{ |
|
"date": "2012-01-18" |
|
}, |
|
{ |
|
"date": "2012-01-19" |
|
} |
|
]; |
|
var chart; |
|
|
|
AmCharts.ready(function () { |
|
// SERIAL CHART |
|
chart = new AmCharts.AmSerialChart(); |
|
chart.dataProvider = chartData; |
|
chart.categoryField = "date"; |
|
chart.dataDateFormat = "YYYY-MM-DD"; |
|
chart.color = "#FFFFFF"; |
|
chart.marginLeft = 0; |
|
|
|
// AXES |
|
// category |
|
var categoryAxis = chart.categoryAxis; |
|
categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true |
|
categoryAxis.minPeriod = "DD"; // our data is daily, so we set minPeriod to DD |
|
categoryAxis.autoGridCount = false; |
|
categoryAxis.gridCount = 50; |
|
categoryAxis.gridAlpha = 0.1; |
|
categoryAxis.gridColor = "#FFFFFF"; |
|
categoryAxis.axisColor = "#555555"; |
|
// we want custom date formatting, so we change it in next line |
|
categoryAxis.dateFormats = [{ |
|
period: 'DD', |
|
format: 'DD' |
|
}, { |
|
period: 'WW', |
|
format: 'MMM DD' |
|
}, { |
|
period: 'MM', |
|
format: 'MMM' |
|
}, { |
|
period: 'YYYY', |
|
format: 'YYYY' |
|
}]; |
|
|
|
// as we have data of different units, we create three different value axes |
|
// Distance value axis |
|
var distanceAxis = new AmCharts.ValueAxis(); |
|
distanceAxis.title = "distance"; |
|
distanceAxis.gridAlpha = 0; |
|
distanceAxis.axisAlpha = 0; |
|
chart.addValueAxis(distanceAxis); |
|
|
|
// latitude value axis |
|
var latitudeAxis = new AmCharts.ValueAxis(); |
|
latitudeAxis.gridAlpha = 0; |
|
latitudeAxis.axisAlpha = 0; |
|
latitudeAxis.labelsEnabled = false; |
|
latitudeAxis.position = "right"; |
|
chart.addValueAxis(latitudeAxis); |
|
|
|
// duration value axis |
|
var durationAxis = new AmCharts.ValueAxis(); |
|
durationAxis.title = "duration"; |
|
// the following line makes this value axis to convert values to duration |
|
// it tells the axis what duration unit it should use. mm - minute, hh - hour... |
|
durationAxis.duration = "mm"; |
|
durationAxis.durationUnits = { |
|
DD: "d. ", |
|
hh: "h ", |
|
mm: "min", |
|
ss: "" |
|
}; |
|
durationAxis.gridAlpha = 0; |
|
durationAxis.axisAlpha = 0; |
|
durationAxis.inside = true; |
|
durationAxis.position = "right"; |
|
chart.addValueAxis(durationAxis); |
|
|
|
// GRAPHS |
|
// distance graph |
|
var distanceGraph = new AmCharts.AmGraph(); |
|
distanceGraph.valueField = "distance"; |
|
distanceGraph.title = "distance"; |
|
distanceGraph.type = "column"; |
|
distanceGraph.fillAlphas = 0.9; |
|
distanceGraph.valueAxis = distanceAxis; // indicate which axis should be used |
|
distanceGraph.balloonText = "[[value]] miles"; |
|
distanceGraph.legendValueText = "[[value]] mi"; |
|
distanceGraph.legendPeriodValueText = "total: [[value.sum]] mi"; |
|
distanceGraph.lineColor = "#263138"; |
|
distanceGraph.dashLengthField = "dashLength"; |
|
distanceGraph.alphaField = "alpha"; |
|
chart.addGraph(distanceGraph); |
|
|
|
// latitude graph |
|
var latitudeGraph = new AmCharts.AmGraph(); |
|
latitudeGraph.valueField = "latitude"; |
|
latitudeGraph.title = "latitude/city"; |
|
latitudeGraph.type = "line"; |
|
latitudeGraph.valueAxis = latitudeAxis; // indicate which axis should be used |
|
latitudeGraph.lineColor = "#786c56"; |
|
latitudeGraph.lineThickness = 1; |
|
latitudeGraph.legendValueText = "[[description]]/[[value]]"; |
|
latitudeGraph.descriptionField = "townName"; |
|
latitudeGraph.bullet = "round"; |
|
latitudeGraph.bulletSizeField = "townSize"; // indicate which field should be used for bullet size |
|
latitudeGraph.bulletBorderColor = "#786c56"; |
|
latitudeGraph.bulletBorderAlpha = 1; |
|
latitudeGraph.bulletBorderThickness = 2; |
|
latitudeGraph.bulletColor = "#000000"; |
|
latitudeGraph.labelText = "[[townName2]]"; // not all data points has townName2 specified, that's why labels are displayed only near some of the bullets. |
|
latitudeGraph.labelPosition = "right"; |
|
latitudeGraph.balloonText = "latitude:[[value]]"; |
|
latitudeGraph.showBalloon = true; |
|
latitudeGraph.dashLengthField = "dashLength"; |
|
chart.addGraph(latitudeGraph); |
|
|
|
// duration graph |
|
var durationGraph = new AmCharts.AmGraph(); |
|
durationGraph.title = "duration"; |
|
durationGraph.valueField = "duration"; |
|
durationGraph.type = "line"; |
|
durationGraph.valueAxis = durationAxis; // indicate which axis should be used |
|
durationGraph.lineColor = "#ff5755"; |
|
durationGraph.balloonText = "[[value]]"; |
|
durationGraph.lineThickness = 1; |
|
durationGraph.legendValueText = "[[value]]"; |
|
durationGraph.bullet = "square"; |
|
durationGraph.bulletBorderColor = "#ff5755"; |
|
durationGraph.bulletBorderThickness = 1; |
|
durationGraph.bulletBorderAlpha = 1; |
|
durationGraph.dashLengthField = "dashLength"; |
|
chart.addGraph(durationGraph); |
|
|
|
// CURSOR |
|
var chartCursor = new AmCharts.ChartCursor(); |
|
chartCursor.zoomable = false; |
|
chartCursor.categoryBalloonDateFormat = "DD"; |
|
chartCursor.cursorAlpha = 0; |
|
chartCursor.valueBalloonsEnabled = false; |
|
chart.addChartCursor(chartCursor); |
|
|
|
// LEGEND |
|
var legend = new AmCharts.AmLegend(); |
|
legend.bulletType = "round"; |
|
legend.equalWidths = false; |
|
legend.valueWidth = 120; |
|
legend.useGraphSettings = true; |
|
legend.color = "#FFFFFF"; |
|
chart.addLegend(legend); |
|
|
|
// WRITE |
|
chart.write("chartdiv"); |
|
}); |
|
</script> |
|
</head> |
|
|
|
<body style="background-color:#161616"> |
|
<div id="chartdiv" style="width:100%; height:400px;"></div> |
|
</body> |
|
|
|
</html> |