2010-12-03 4 views
2

J'ai un certain nombre de graphiques Silverlight liés à des ensembles de données.Intervalles d'axe des graphiques en argent

Ils fonctionnent correctement, les valeurs indiquées sur l'affichage pour l'axe années montrent, plutôt que des années complètes, les points entre par exemple: 2007, 2007.2,2007.4 etc etc

Comment puis-je faire de sorte qu'il ne montre que les années complètes? Ci-dessous, une capture d'écran pour expliquer visuellement ce que je veux dire.

alt text

Voici le code que j'utilise pour lier les données du graphique:

foreach (var myVariable in UserSelections.TheDataSet.ER_Variables) 
       { 
        var newSeries = new LineSeries 
             { 
              ItemsSource = 
               UserSelections.GetDataRowsByVariableAndLocation(
                UserSelections.GetIdForLocation(UserSelections.Locations[0]), 
                myVariable.Variable_ID), 
              IndependentValueBinding = new Binding("Year"), 
              DependentValueBinding = new Binding("Value"), 
              Title = myVariable.Name, 
              IsSelectionEnabled = true 

             }; 
        MainChart.Series.Add(newSeries); 
       } 
+0

Pouvez-vous montrer votre code de définition de tableau. – ChrisF

Répondre

5

Dans la définition de tableau que vous avez besoin:

<toolkit:Chart Title="Chart Title" VerticalAlignment="Top"> 
    <toolkit:Chart.Axes> 
     <toolkit:DateTimeAxis IntervalType="Years" Interval="1"/> 
    </toolkit:Chart.Axes> 

Je pense que cela devrait faire la astuce (en supposant que votre date est en fait une variable DateTime). La clé est que vous devez définir Interval.

(Merci à AnthonyWJones pour le souligner)

+0

Cela fonctionnerait si la valeur indépendante est une donnée mais par l'apparence de celle-ci, c'est juste un nombre entier. Interval = "1" est nécessaire cependant. – AnthonyWJones

+0

@Anthony - bon point, je vais mettre à jour la réponse. – ChrisF

+0

Merci les gars, cela fonctionne un régal. Salutations pour votre aide. – Kevin