Forum: PC-Programmierung C# Chart Achsenformatierung


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Habe die Ehre,

Habe im Anhang einen Screenshot einer Programmausgabe, die ich mit 
Windows Forms Application und Chart mit VS2010 erstellt habe. Als c# 
anfänger bin ich soweit auch ganz zufrieden, würde aber gerne noch einen 
Makel beseitigen:

Kann ich dem Aufruf:

"chart1.ChartAreas["Default_Area"].AxisX.LogarithmBase = 10;"

irgendwie mitteilen, welches Zahlenformat verwendet werden soll? Am 
liebsten wäre mir natürlich die Schreibweise: "1e+4, 1e+5, 1e+6..." oder 
aber auch "10k, 100k, 1M,..."

Gruß

Tom

von Arc N. (arc)


Lesenswert?


von Tom (Gast)


Lesenswert?

Hmm, das mit den Labels taugt mir leider nicht so. Möchte wirklich das 
Major & Minor Grid auf meine 10er, 100er, 1000er Dekadensprünge der 
Serie legen. Sonst könnte ich mir die Grids ja gleich sparen.

Eine andere Darstellung ist bei dieser Art der Daten nicht üblich.

Mit dem Zweiten link den du mir geschickt hast kann ich leider nichts 
anfangen. Siehe:

Tom schrieb:
> Als c# Anfänger bin ich soweit auch ganz zufrieden

Würdest du mir empfehlen das ganze händisch mit ner Picturebox zu 
programmieren wenn ich nicht in irgendwelchen dll's rumpfuschen möchte?
Habe ein bischen Erfahrung mit C und würde mir das auch soweit zutrauen. 
Hätte hald gehofft das es über irgendwelche chart.Achsenfunktionen geht.

Gruß Tom

von Karl H. (kbuchegg)


Lesenswert?

Tom schrieb:

> Mit dem Zweiten link den du mir geschickt hast kann ich leider nichts
> anfangen.

Du musst die Seite als ganzes lesen, nicht gleich die Flinte ins Korn 
werfen.

Der Link beschreibt, dass es möglich ist, für die Label Beschriftung ein 
eigenes Format vorzugeben.

Wie macht man das?
Ganz unten auf der Seite ist eine Verlinkung in den Community Bereich
http://msdn.microsoft.com/en-us/library/427bttx3.aspx
in dem das wiederrum beschrieben ist.

Auf der verlinkten Seite entscheidet man sich, ob man ein "Standard 
Numeric Format" haben will, oder ein "Custom Numeric Format". 
Wissenschaftliche Schreibweise ist wohl ein "Standard", also führt der 
Link dort wieder weiter. Und dort wieder erfährt man, dass man einen "E" 
Format Specifier braucht.
Was macht man jetzt damit?
Also wieder im Link zurück auf die Ursprungsseite. Dort bemerkt man, 
dass  Format eine Eigenschaft ist, die Getter und Setter hat.

Also würde ich mal ausprobieren:

   chart1.ChartAreas["Default_Area"].AxisX.LabelStyle.Format = "E"


Und: AHA! Plötzlich bekommt das Beispiel vom ersten Link unter "Axis 
Label Styles and Formats" eine ganz besondere Bedeutung. Exakt die 
gleiche Form steht dort auch! Und es wird plötzlich viel klarer, worum 
es da geht und wie man es benutzt. Die Einzelteile der Hilfe passen 
zueinander und ineinander.

Manchmal muss man sich die Informationen aus mehreren Hilfeseiten 
zusammensuchen. Also: Nicht gleich die Flinte ins Korn werfen, nur weil 
auf der ersten Seite in der Hilfe nicht steht "Dear Tom, to solve your 
Problem you need to do XY"

von Tom (Gast)


Lesenswert?

Erst einmal danke für die Zeit Karl Heinz, die du in den Post gesteckt 
hast.

Bin heute vielleicht schon ein bischen zu lange vorm Rechner gesessen 
als das ich noch was produktives zu stande gebracht hätte. Auch danke an 
Arc Net! Ihr habt recht, die Info hätte ausreichen müssen. Ich werde 
mich bemühen das nächste mal mehr Zeit und Geduld in neue 
Herausforderungen zu investieren :)

Klappt jetzt auf jeden Fall ganz gut!

LG

Tom

von Micha (Gast)


Lesenswert?

Hallo,

hier noch ein nützlicher Nachtrag zu den "Format"-Eingaben, auch wenn 
der Beitrag etwas älter ist.

Ich habe auch gerade vor dem Problem gestanden eine kleine Übersicht für 
die Formate zu benötigen, um verschiedene Zahlenformate zu nutzen.

z.B.:  aus 1503.92311 mit ("0.0##e+00") wird -> 1.504e+03


https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings

VG

--

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.