2016-04-16 12 views
2

Ich überarbeite vorhandene Funktionalität, um SciChart zu verwenden. Ich brauche das resultierende Diagramm, um mit der ursprünglichen Lösung (oder so nah wie möglich) identisch zu sein. Where I got sofar (top) compared to what it should look like (bottom)SciChart - zeigt Labels für alle Ticks an

In dem Screenshot können Sie sehen, wo ich bisher (oben) im Vergleich zu der alten Lösung (unten). Ich blieb stecken und versuchte, die Etiketten funktionieren zu lassen.

Ich implementierte einen benutzerdefinierten Label-Provider wie hier beschrieben http://www.scichart.com/screenshots-xps-printing-x-axis-text-labels/ (ich nahm im Grunde nur die CustomLabelProviderClass von dort) Ich verwende die gleiche Liste von Etiketten wie die alte Lösung. Was Sie sehen, ist, soweit ich bekam, die folgenden Achseneigenschaften mit:

<sci:SciChartSurface.XAxis> 
<sci:NumericAxis VisibleRange="0,115" 
DrawMajorGridLines="False" 
DrawMinorGridLines="False" 
LabelProvider ="{Binding LabelProvider}" 
TickLabelStyle="{StaticResource AxisLabelStyle}" 
AutoTicks="False" MajorDelta="0.5" 
MinorsPerMajor="1" MinorDelta="0.5" /> 
</sci:SciChartSurface.XAxis> 

Der alte Graph ist überspringen tatsächlich einige der auch Werte (ca. alle anderen, es sei denn, ich zoomen), aber es zeigt immer noch sie mit etwa der doppelten Dichte des SciChart. Gibt es eine Möglichkeit SciChart so zu verhalten?

Auch ich habe Rotation Transformation auf die Etiketten angewendet, um sie vertikal zu bekommen. Wie Sie sehen können, bleiben sie jetzt in der Grafik. Gibt es eine Möglichkeit, sie ein wenig nach unten zu bewegen?

Antwort

1

In SciChart wählt die Achse automatisch Etiketten aus, die zu nah sind, indem sie diese messen und alternative Beschriftungen entfernen.

Sie diese Funktion AxisBase.IsLabelCullingEnabled indem deaktivieren = false

// C# example 
var numericAxis = new NumericAxis(); 
numericAxis.IsLabelCullingEnabled = false 

// XAML Example 
<s:NumericAxis IsLabelCullingEnabled="False"/> 
+0

Danke, das es gelöst! Wissen Sie auch, wie Sie die Beschriftungen unterhalb der Achse erhalten? Ich habe alles versucht, was ich mir vorstellen konnte - vertikale/horizontale Ausrichtung, Ankerpunkte, TranslateTransform, wo ich versuchte, sowohl X als auch Y in jeder Hinsicht zu bewegen. Ich habe sogar versucht, die Labels zu strecken, indem ich den Strings eine Menge Leerstellen hinzufügte. Nichts half. Die meisten Dinge, die ich probiert habe, haben die Etiketten überhaupt nicht bewegt. Mit wurden sie ungefähr 3 Millimeter verschoben - in die falsche Richtung. – Shaggydog

+0

Ich würde vermuten (da Ihr AxisLabelStyle von der Frage ausgeschlossen ist), dass Sie RenderTransform verwendet haben, um Beschriftungen zu drehen, aber LayoutTransform verwenden sollten. Wenn nicht korrekt, bitte eine andere Frage dafür öffnen! –

+0

Ich habe eine andere Frage geöffnet, aber Sie haben Recht, ich habe die RenderTransform, nicht LayoutTransform verwendet. Die Frage betrifft die vertikale Platzierung, aber auch die horizontale Platzierung der Etiketten. Vielleicht könntest du es dir anschauen? http://stackoverflow.com/questions/36688144/scichart-accurate-placement-of-rotated-axis-labels – Shaggydog

Verwandte Themen