Q&A Highstocks by Highcharts V2.0

Hallo Community,

einige haben es bemerkt, dass mit der letzten Version von Highcharts Prototypenhaft eine Integration von Highstocks (Demos vom Hersteller siehe Highstock Demo Gallery) integriert wurde.

Was muss gemacht werden, damit man Highstock nutzen kann:

[ul]
[li]es mus bereits Highcharts ab der V2.01 auf Eurem IPS laufen.
[/li][li]Herunterladen von Highcharts … hier
[/li][li]Highstocks in das \webfront\user entpacken (es gibt dann ein Highcharts und ein Highstocks-Verzeichnis)
[/li][li]in das neue Highstocks Verzeichnis das „IPS_Template.php“ aus dem Anhang kopieren
[/li][li]In den Cfg Script kann über den Parameter $CfgDaten[‚Ips‘][‚ChartType‘] = ‚Highstock‘; die Darstellung umgestellt werden
[/li][/ul]

Der Vollständigkeit halber noch de Link zur Highstock-Api.
Achtung! Es funktioniert nicht alles so richtig reibungslos. Ich denke Highstock reagiert auf einige Highcharts Parameter etwas eigen. In jedem Fall werden keine PieCharts dargestellt.

Anbei noch ein paar Screenshots (z.T. meine eigenen Highcharts-Cfg-Scripte mit CfgDaten[‚Ips‘][‚ChartType‘] = ‚Highstock‘; und z.T. die Beispiel von Highstock)

IPS_Template.rar (1.48 KB)

13-05-2012 15-32-00.png

prima, toller Job! freudig erregt habe ich sogleich mein erstes HighChart auf HighStock geschwenkt. Noch nicht perfekt, sieht aber schon gut aus. Config-Sript ist ohne Fehler durchgelaufen (am Speicherpfad hab ich ein wenig geschraubt) - schönes Spielzeug!
Klasse Job, KHC!

… ich brauche es im Moment noch nicht, da ich noch 1000 andere Baustellen habe, aber eine feine Sache :slight_smile:
Prima!

Bevor ich nun mir die Details durchlesen und verstehen muss, eine Frage an die Experten.
Wo liegt der Nachteil, wenn man umschwenkt?
Momentan erkenne ich auf die Schnelle nur positive Effekte mit deutlich schöneren Navigationsmöglichkeiten. Wo ist der Pferdefuß?

bei mir funktionieren z.B. RoundValue, ScaleFactor, HS-eigene Parameter nicht. ich habs aber noch nicht ausgiebig gestestet.
Ein nachteil ist aus meiner Sicht, dass HS offensichtlich keine Legende hat.
Aber ich bin da noch nicht weiter eingestiegen.
KHC sagt auch selbst, dass das noch in einem ganz frühen Entwicklungsstadium ist.

hab heute ein wenig mit den HS-Optionen experimentiert. Soweit ich das überblicken kann, sind ein Großteil der Funktionen in HC und HS identisch.
In HS sind folgende Parameter-Kategorien hinzugekommen:

[ul][li]rangeSelector[]scrollbar[]navigator
[/li][/ul]

bei mir funktioniert die Übergabe von Parametern aus diesen 3 Kategorien nicht (sie kommen nicht im .tmp-File an).
HS bietet auch die Möglichkeit, eine Legende zu zeigen (damit ist meine Annahme im letzten Post nicht korrekt), jedoch ist diese Option standardmäßig auf „false“. Gibt man diesem Parameter ein „true“ mit, wird diese angezeigt.
Allerdings ist die Auto-Positionierung der Legende in HS nicht zu gebrauchen (sie überlagert den rangeSelector/navigator. Wenn man x- und y-Koordinaten mitgibt, kann man diese sinnvoll positionieren.

Hi Raketenschnecke,

das stimmt. Die drei Parameter „rangeSelector“, „scrollbar“, „navigator“ habe ich noch nicht implementiert.

Werde mich am Wochenende auch mal ein wenig damit etwas spielen und dann kurzfristig eine neue Version machen.

Grüße KHC

Ich habe nun den ScaleFactor und RoundValue der getestet und das Problem liegt nicht an dem Highcharts-Script sondern an einem Rundungsproblem von Highstock. An dieser Stelle kann man relativ wenig machen. Wenn man die HighchartTooltips nimmt kann man mit dem Parameter [‚tooltip‘][‚valueDecimals‘] die Dezimalstellen angeben und dadurch eine korrekte Darstellung erreichen. Für dem IPS-Highcharts eigenen Tooltip habe ich jetzt auf die Schnelle keine brauchbare Lösung.
Der ScaleFactor Parameter hat bei mir einwandfrei funktioniert.

Grüße KHC

man man, du hast dich ja richtig festgebissen :smiley: Klasse!

Mit anderen Worten: entweder ich liefere die Daten extern im gewünschten Format zu oder ich muss auf „[‚tooltip‘][‚valueDecimals‘]“ oder „Highcharts.numberFormat“ zurückgreifen. Der „Nachteil“ mit den beiden On-Board-Optionen ist, dass diese entweder für alle Graphen im Chart greifen oder für keinen. Möglicherweise könnte man „Highcharts.numberFormat“ im Formatter auf jeden Graphen individuell anwenden, das ist mir aber eine zu tiefe Grube :smiley:

Zum ScaleFactor: auf Grund Deines Postings hab ich eben noch mal nachgeschaut: Tatsache, ich hab geschlampt (Syntaxfehler: hatte „Scalefactor“ eingetragen :o) - es funktioniert, Danke Dir.

oder du setzt den tooltip direkt für die Serie…

	
....
....
$serie['tooltip']['valueDecimals']=3;
$CfgDaten['series'][] = $serie;

(hab ich auch erst vor kurzem gelernt)

ah ja, oder so :smiley:

Hatte ich neulich schon mal in den Fingern, klappte aber nicht (daher wieder verworfen). Eben nochmal ausprobiert: klappt!

Da scheint mir aber noch ein Bug im HS selbst zu sein: die 2-stellige Anzeige, die ich für einen Graph definiert habe, wirkt erst im Zoom. In der Default-Ansicht werden nach wie vor alle Dezimalstellen angezeigt…falls mal jemand drüber stolpert

Hallo Community,

für alle die noch ein wenig mit Highstock rumspielen wollen.

Hier eine 2.02 Vorabversion mit den integrierten Highstock-Root-Parametern:

[ul]
[li][‚Navigator‘]
[/li][li][‚rangeSelector‘]
[/li][li][‚scrollbar‘]
[/li][/ul]

Viel Spaße KHC

Highcharts_V2.01A.ips.php.txt (60.2 KB)

ooooouuuuch, das sieht sehr gut aus :slight_smile:
hab eben mit den Parametern rumgespielt, scheint alles zu klappen.

1 Problem hab ich gefunden, kann aber auch wieder an HS selbst liegen:

wenn ich als Zoom „YtD“ ($CfgDaten[‚rangeSelector‘][‚selected‘] = 3; ) vorgebe, erscheint kein Range-Selctor im Chart. Man muss das erst einen der anderen Zomm-Buttoms anclicken.
Starte ich das Chart z.B. mit 1M ($CfgDaten[‚rangeSelector‘][‚selected‘]= 0; ) ist der Range-Selector da.

:confused: hm,
der Parameter „$serie[‚tooltip‘][‚valueDecimals‘]= xy;“ scheint mal zu greifen, mal nicht:
ich habe hier ein HS-Chart, da greift der Parameter in allen Graphen, aber nur wenn eingezoomt wird

hier ein anderes Chart, da greift der Parameter gar nicht
(gemeint sind die Charts jeweils 2. von Oben)

an der stelle habe ich NULL Einfluss. Alle Parameter werden nur an das Highchart weitergereicht.

Wie schon gesagt, ich denke dass das Highstocks-chart noch nicht den Reifegrad von Highcharts selbst hat.

das denke ich auch, alles gut :wink:

jiepp, sieht so aus. Aber dennoch - zumindest für mich - brauchbar

Hi KHC,
hab noch was gefunden, was in den HS neu ist und vom HC 2.01 Script nicht akzeptiert wird:
Die Graphen-Typen wurden um OHCL, Flags und CandleSticks erweitert. Das HC 2.01 akzeptiert diese Graphentypen nicht.

Hallo @Raketenschnecke;

Du hast Recht. Ich pruefe die moeglichen Series-Typen ab und habe die beiden in Highstock neu hinzugekommenen vergessen.

Anbei die korrigierte Vorab-Version V2.01B…

Gruesse khc

Highcharts_V2.01B.ips.php.txt (60.6 KB)

Hi KHC,

hab ich heut Morgen gleich ausprobiert, klappt prima, danke sehr. Konnte mich nur nicht gleich melden weil mein KDG-INet Anschluss mal wieder platt war…grrrrr…

Hab ein bishcen zu OHLC recherchiert und probiert (ich bekomme leider keinen Graphen im Chart). Ich vermute, dass die Daten hier in einem besonderen Format zugeliefert werden müssen:

The method of approximation inside a group. When for example 30 days are grouped into one month, this determines what value should represent the group. Possible values are „average“, „open“, „high“, „low“, „close“ and „sum“. For OHLC and candlestick series the approximation is always „ohlc“, which finds the open, high, low and close values within all the grouped data. Defaults to „sum“.

aber so richtig werde ich nicht schlau draus. Hast Du das schon mal probiert?

Hallo Raketenschnecke,

mit den ChartType OHLC habe ich noch gar nichts getestet.

Grüeß KHC