Ich mache ein Diagramm in VisualStudio WinForms mit einigen Datenspalten und ich möchte Etiketten für einige von ihnen platzieren. Hauptproblem ist, dass die Beschriftungen für die erste und die letzte Spalte nicht angezeigt werden. Min und Max für Diagramm ist fest und Datenpunkte können auf Min und Max sein.MSChart DataPoint Label überlappend
Zum Beispiel habe ich ein Diagramm mit Serie [0] .ChartType = „Spalte“ und Etikett zugewiesen Serie Einstellung [0] .LABEL Eigenschaft X, Y, Index und einige Textzeichenfolge zu zeigen, auch Set Serie [0] .LabelBackColor und Serie [0] .LabelBorderColor, um eine Box zu machen.
Das ist, was ich habe:
Text außerhalb der Hintergrund-Box werden überlappende Beschriftungen Grenzen aber AxisY (links) ist noch sichtbar; und Beschriftungen für x = 0 und x = 10 werden überhaupt nicht angezeigt! Auch bei dem Spaltentyp hatten alle unten beschriebenen Vorgänge keine Wirkung.
Eigentlich brauche ich StackedColumn Typ, so: dann änderte ich Typ Serie [0] .ChartType = "StackedColumn" und bekam dies:
Boxen größer sind, aber immer noch überlappend mit AxisY Linie und Zahlen oben, und immer noch keine ersten und letzten Etiketten.
Ich versuchte Serie [0] .SmartLabelStyle.IsOverlappingHidden = false und bekam dies zu setzen:
AxisX und AxisY Linien und Markierungen sind oben Etiketten gezeigt. Das ist nicht gut.
Dann habe ich versucht, indem SmartLabelStyle überhaupt zu deaktivieren: Serie [0] .SmartLabelStyle.Enabled = false und bekam dies:
nicht viel besser. Sogar Etiketten überlappen sich jetzt.
Endlich habe ich versucht, Labels zu zwingen, indem es SmartLabelStyle und Einstellung Serie [0] = .SmartLabelStyle.MovingDirection zu bewegen "Right | Left" und bekam dies:
Jetzt in Text Labels wird richtig verschoben, aber Hintergrundbox ist nicht. Wenn diese Box auch richtig bewegt wurde, würde das reichen, aber das tat es nicht. Ich habe keine Ideen, wie DataPoint Labels auf der linken und rechten Seite des Diagramms richtig angezeigt werden.
Gibt es eine Möglichkeit, Etikettenposition für Text und Box zu setzen? Wie setze ich das Label-Feld auf die richtige Größe für Text?
Ich möchte auf jeden Fall chart.Paint-Methoden vermeiden.