Seite 1 von 1

RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 20:23
von Jan
Weiß jemand, warum die Statistik nicht korrekt angezeigt wird? Gehen da irgendwann die Farben aus, oder wie ist das?

Jan

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 20:35
von Martin Altmann
Hallo Jan,
Du hast weniger als 16 Farben, insofern brauchst Du da keine Angst zu haben! Denke an meine Statistiken vom DevCon-Server...
Zeige mal Deinen Code, der den Chart generiert.
Welche Version nutzt Du? Die aktuelle?

Viele Grüße,
Martin

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 21:19
von Jan
Hallo Martin,

naja, ich bräuchte in diesem Beispiel 19 Farben. Und es könnte natürlich sein, daß da noch mehr benötigt werden.

Der Code ist das hier:

Code: Alles auswählen

FUNCTION ZeigeStatistik(oDlg, aArray, cWert, cCaption, cSpeicherort)

LOCAL oChart
LOCAL bOldError
LOCAL oError
LOCAL lChart := .T.

oChart := XbpActiveXControl():new(oDlg:drawingArea)
oChart:CLSID  := "{4D814D0F-7D71-4E7E-B51E-2885AD0ED9D7}"
bOldError := ErrorBlock( {|e| BREAK(e)} )
BEGIN SEQUENCE
oChart:create( , , {400, 50}, {MEMVAR->gaBildschirmGroesse[2] - 100, MEMVAR->gaBildschirmGroesse[2] - 100} )
RECOVER USING oError
   MsgBox("Fehler beim Erzeugen der Statistik. Bitte stellen Sie" + Chr(13) +;
          "sicher, dass RMChart auf Ihrem Computer installiert ist.",     ;
          "Achtung" )
   lChart := .F.
END SEQUENCE
ErrorBlock( bOldError )

IF lChart == .T.
   // Die Bildschirmausgabe
   oChart:Reset()
   oChart:SetProperties(MEMVAR->gaBildschirmGroesse[2] - 100, MEMVAR->gaBildschirmGroesse[2] - 100, White, RMC_CTRLSTYLEIMAGETILED) // , "paper.jpg")
   //************** Add Region 1 *****************************
   oChart:AddRegion()
   oChart:Region(1):SetProperties( 5, 5, -5, -5, "")
   //************** Add legend to region 1 *******************************
   oChart:Region(1):AddLegend()
   oChart:Region(1):Legend():SetProperties(RMC_LEGEND_ONVLABELS, 0, 0, Blue, 8, False)
   oChart:Region(1):Legend():LegendString := cCaption
   //************** Add Series 1 to region 1 *******************************
   oChart:Region(1):AddGridlessSeries()
   oChart:Region(1):GridlessSeries():SetProperties(RMC_DONUT_GRADIENT, RMC_FULL, RMC_EXPLODE_NONE, False, RMC_VLABEL_TWIN, RMC_HATCHBRUSH_OFF)
   oChart:Region(1):GridlessSeries():SetColorValue(Len(aArray), Goldenrod)
   //****** Set data values ******
   oChart:Region(1):GridlessSeries():DataString := cWert
   oChart:Draw()
   oChart:Draw2File(cSpeicherort)
ENDIF

RETURN lChart
Das ist so ungefähr mein erster erweiterter Versuch, RM-Chart einzusetzen. Ich bin da noch rumprobieren. Mir gefällt z. B. der Hintergrund noch nicht, und das Ausdruck ist auch noch nicht so genial. Ich hab das direkt nicht hinbekommen, deswegen speicher ich die Grafik in der letzten Zeile der IF-Schleife, und druck die dann aus. Was aber auch nicht prickelnd ist, da wird ein leicht schattierter Hintergrund gedruckt, und manchmal soetwas wie ein sehr schmaler Rahmen. Aber irgendwann bekomme ich auch das noch hin 8) Aber erstmal möchte ich das mit den Farben hinbekommen. Das müssen ja auch nicht unbedingt 19 verschiedene Farben sein. Die Farben können ja auch gerne doppelt vorkommen, aber dann bitte nicht direkt nebeneinander wie in der linken Grafikhälfte.

Achso. Ja, ich benutze die aktuelle Version vom Januar diesen Jahres.

Jan

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 21:33
von Martin Altmann
Hallo Jan,
die Probleme mit dem gerasterten bzw. gerahmten Hintergrund sind bekannt - ob die mittlerweile behoben sind, weiß ich nicht. Scheint ja aber nicht so zu sein.
Im Prinzip habe ich das bei mir ähnlich gemacht. Mir ist nur aufgefallen, dass Du - im Gegensatz zu mir - SetColorValue nutzt. Darum habe ich mir mal dessen Beschreibung angeschaut und Du machst da wohl einen Fehler...
Du setzt nur die Farbe des Eintrages an der Stelle Len(aArray) - was ist aArray und wie lang ist das??
Gib doch alle Farben in einem Array mit, die genommen werden sollen oder lass die Zeile ganz weg...

Viele Grüße,
Martin

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 21:44
von Jan
Hallo Martin,

wenn ich die Zeile weg lasse, ändert sich überhaupt nichts.

Wie soll ich denn die Farben übergeben? Dann muß ich das ja dynamisch machen, je nachdem, wie viele Einträge es gibt. Ich dachte, das würde RM-Chart üebrnehmen.

Jan

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 21:53
von Martin Altmann
Hallo Jan,
wenn Du keine Farben setzt, macht das RMChart auch dynamisch.
Hat bei mir auch immer geklappt - jedoch hatte ich bei vielen Werten (und somit Farben) nie ein Pie (oder Donut), sondern immer Balken. Wenn es mehr als 9 waren, dann habe ich Balken oder Säulen genommen.

Viele Grüße,
Martin

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 22:10
von Jan
Hallo Martin,

ich hab gerade mal versucht, im RMDesigner einen Donut mit 19 Werten zu erstellen. Ebenfalls die ganze linke Hälfte blau! Ich glaub, ich werd morgen mal im RM-Forum nachfragen.

Jan

Re: RM Chart Anzeigefehler

Verfasst: Fr, 17. Okt 2008 22:13
von Martin Altmann
Hallo Jan,
gute Idee!
Aber nun ändere doch mal einfach den Typ von Donut auf Bar...
Nur um zu sehen, ob es da mit den Farben klappt.

Viele Grüße,
Martin

Re: RM Chart Anzeigefehler

Verfasst: Sa, 18. Okt 2008 6:49
von Jan
Martin,

Gemach, Gemach! Hab ja gestern Abend schon damit angefangen, aber mir ist dann einfach die Konzentration ausgegangen. Ich melde mich heute noch dazu. Wird aber später werden, erst ist noch der (Haupt-)Job dran, und danach muß ich noch bei der jährlichen Ahnenbörse mithelfen. Wird also vermutlich gegen Abend erst was werden.

Jan

Re: RM Chart Anzeigefehler

Verfasst: Sa, 18. Okt 2008 9:54
von Jan
Martin,

hab das eben in der Pause mal schnell ausprobiert. Mit Säulendiagramm geht das, da werden die Farben dann wiederholt. Womit ich ja auch im Donut durchaus einverstanden wäre. Wie gesagt, ich werde das mal im RM-Forum ansprechen, mal sehen, was die dazu sagen.

Jan

Re: RM Chart Anzeigefehler

Verfasst: So, 19. Okt 2008 0:24
von Martin Altmann
Hallo Jan,
dann bin ich ja beruhigt - war mir nämlich sicher, dass ich die Probleme so nicht hatte (bei Bar).

Viele Grüße,
Martin

Re: RM Chart Anzeigefehler

Verfasst: Mo, 24. Nov 2008 21:31
von Jan
So.

Bertram hat mir da einiges an Hilfestellung gegeben. Und siehe da, es funktioniert. Der Punkt ist: Man muß "einfach" für jeden Wert über :SetColorValue() einen Wert zuweisen. Dann geht es. In meinem ersten Beispiel hatte ich das auch schon drin. Aber total überlesen und dadurch nicht konsequent eingesetzt.

Jan