amCharts mit AngularJS
Ich bin immer noch strugling Arbeit, die anderen libs mit AngularJS, weil es differtent Logik aus anderen Bibliotheken.
Ich brauche zur Visualisierung von Daten mit amCharts Lager, aber es ist nichts im internet über diese zwei wroking zusammen.
Wie kann ich machen das arbeiten mit angularjs: http://jsfiddle.net/922JW/
var chart = AmCharts.makeChart("chartdiv", {
type: "stock",
"theme": "none",
pathToImages: "http://www.amcharts.com/lib/3/images/",
categoryAxesSettings: {
minPeriod: "mm"
},
dataSets: [{
color: "#b0de09",
fieldMappings: [{
fromField: "value",
toField: "value"
}, {
fromField: "volume",
toField: "volume"
}],
dataProvider: chartData,
categoryField: "date"
}],
panels: [{
showCategoryAxis: false,
title: "Value",
percentHeight: 70,
stockGraphs: [{
id: "g1",
valueField: "value",
type: "smoothedLine",
lineThickness: 2,
bullet: "round"
}],
stockLegend: {
valueTextRegular: " ",
markerType: "none"
}
},
{
title: "Volume",
percentHeight: 30,
stockGraphs: [{
valueField: "volume",
type: "column",
cornerRadiusTop: 2,
fillAlphas: 1
}],
stockLegend: {
valueTextRegular: " ",
markerType: "none"
}
}
],
chartScrollbarSettings: {
graph: "g1",
usePeriod: "10mm",
position: "top"
},
chartCursorSettings: {
valueBalloonsEnabled: true
},
periodSelector: {
position: "top",
dateFormat: "YYYY-MM-DD JJ:NN",
inputFieldWidth: 150,
periods: [{
period: "hh",
count: 1,
label: "1 hour",
selected: true
}, {
period: "hh",
count: 2,
label: "2 hours"
}, {
period: "hh",
count: 5,
label: "5 hour"
}, {
period: "hh",
count: 12,
label: "12 hours"
}, {
period: "MAX",
label: "MAX"
}]
},
panelsSettings: {
usePrefixes: true
}
});
Dank.
InformationsquelleAutor Jack | 2014-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde einige der grundlegenden Richtlinie (isolieren Geltungsbereich) erhält, dass die chart-Einstellungen und als Vorlage verwenden:
Zusätzlich können wir schreiben mehrere Beobachter zu hören, das auf Aktionen des Nutzers.
Hier ist Beispiel Wie man es verwendet:
(Es ist keine basierend auf Ihren Einstellungen, aber Sie können die gleiche Strömung)
Demo Fiddle
Richtlinie
Die Verwendung:
[BEARBEITEN]
Demo 2 FIddle
HTML
JS
weil es noch nicht geladen eckig (Modul). Dies ist ein Grund, warum Sie nichts sehen
Dies ist mein Beispiel arbeiten (kopieren/einfügen) basierend auf Ihren link: jsfiddle.net/9YnpS/38
Ok, das hat mir sehr geholfen. Danke.
Wie auch immer, ich schlage vor, Sie tun nicht schwer-code Mangold-Daten in die Richtlinie. Machen ist als Vorlage, die Sie verwenden können, die gleiche Richtlinie, die in anderen Projekten. Bringen Sie einfach es aus dem controller, wie gezeigt, im 1. Beispiel.
InformationsquelleAutor Maxim Shoustin
Verwenden Sie das Modul
https://github.com/natanielpaiva/angularAmChart
oder
Projekt-Beispiel
https://github.com/natanielpaiva/angularAmChartSimples
Einfach:
<amchart ng-model="objectLiveAmchart"> </amchart>
In Javascript:
$Umfang.objectLiveAmchart = { type:Seriell, ... }
InformationsquelleAutor Nataniel Paiva
Ich Quelle, dass die vorgesehene Lösung nicht für mich arbeiten.
Insbesondere die Grafik wurde nicht angezeigt, wenn die id in der Vorlage war nicht hardcoded.
Schien es wie ein problem mit der
AmCharts.makeChart()
Funktion, war nicht in der Lage zu finden, diechardiv_id
im DOM.Ich gefunden, dass die Inbetriebnahme der
initChart()
Funktion innerhalb einerscope.$watch('element')
(nach dem anbringenelement
zu dem Bereich, in dem der linking-Funktion) war die richtige Lösung für mich.Ich denke, das ist, weil nach der
element
erstellt wird (also nach der Uhr genannt) vorhanden ist und sichtbar in den DOM, so die AmChart Funktion sehen kann und Rendern des Diagramms korrekt.Hoffe, dies geholfen!
InformationsquelleAutor Giacomo