2010-12-13 6 views
3

J'ai un graphique avec 1000s de points de données et je me demande comment supprimer les points de données? Ils ralentissent considérablement tout le processus. J'ai cherché à changer de style, y a-t-il un autre moyen?WPF Toolkit Chart - Collapsing Chart Points

Removing (collapsing) DataPoints in a LineSeries?

<Grid> 
    <chartingToolkit:Chart 
     Width="Auto" Height="Auto" 
     Background="Transparent" Panel.ZIndex="3"> 
     <chartingToolkit:LineSeries Title="Symbol" Background="Transparent" 
     IndependentValueBinding="{Binding Path=Key}" 
     DependentValueBinding="{Binding Path=Value}" 
     ItemsSource="{Binding Path=SymbolData}" 
     DataContext="{Binding}"> 
      <chartingToolkit:LineSeries.DataPointStyle> 
       <Style TargetType="{x:Type chartingToolkit:LineDataPoint}"> 
        <Setter Property="Background" Value="Red"/> 
        <Setter Property="Visibility" Value="Collapsed"/> 
       </Style> 
      </chartingToolkit:LineSeries.DataPointStyle> 
     </chartingToolkit:LineSeries> 
    </chartingToolkit:Chart> 
</Grid> 

Je pensais que le code ci-dessus aurait fonctionné, mais apparemment pas ...

D'autres recherches, même cette réponse ne fonctionne pas:/

Removing markers from silverlight line or area series

Bravo à l'aide.

Répondre

4

La définition des styles de point à Collapsed ne résoudra pas votre problème car les objets seront toujours dans l'arborescence visuelle affectant le temps de rendu. Puisque vous avez configuré des liaisons pour les points de données, la seule façon de les supprimer consiste à supprimer les objets métier auxquels ils sont liés.

En outre, puisque vous parlez de performances, il est intéressant de noter que les performances de la boîte à outils WPF sont bien pires que celles de certains autres composants graphiques gratuits. Voir cet article sur charting component's performance comparison - il a été écrit en comparant les versions Silverlight, mais selon mon expérience, il est également valable pour WPF. L'utilisation de Visiblox, DD3 ou Visifire améliorerait probablement de manière significative les performances de vos graphiques. (Divulgation complète: J'ai été impliqué dans le développement dans Visiblox)

+0

Salut, bravo pour la réponse, que voulez-vous dire "supprimer vos objets d'affaires qu'ils sont liés."? En outre, merci pour la tête sur la performance de cartographie, je vais certainement vérifier Visiblox! – Sparky