2008-09-20 19 views
0

J'ai un rapport que j'ai construit pour un client où j'ai besoin de tracer x 0-100, y 0-100. Imaginons que j'ai ces points:Graphique des services de reporting: comment mieux contrôler la courbe lissée

0, 0 
    2, 24 
50, 70 
100, 100 

J'ai besoin de les représenter comme un graphique linéaire lissé, comme l'application de celui-ci est un graphique de gain de points pour les presses d'impression.

Voici le problème. La ligne passe de 100 100 (en haut à droite) à 2,24. Mais alors, ce qui se passe est de 2,24 à 0,0 la courbe de la ligne à gauche du graphique, puis à descendre à 0,0. Imaginez-le en mettant un point à -10,10. Je comprends que c'est à cause de l'algorithme générique Bézier curve qu'il utilise et de la grande séparation des points de contrôle, ce qui le place en forte pondération.

Je me demandais cependant si quelqu'un sait comment je peux le contrôler. J'ai essayé d'ajouter des points moyennés entre les points de contrôle existants, mais il courbe encore le graphique comme s'il était encore fortement pondéré.

La seule autre réponse que je peux penser est de dessiner un graphique personnalisé ou en regardant Dundas Charts et en utilisant son support de dessin GDI+.

Mais avant que j'aille cette route, quelqu'un a des idées?


Voici la chose. Je sais dessiner la courbe manuellement. Le problème réside dans le fait qu'il y a une forte pondération entre 2 et 50. J'ai essayé d'ajouter des points aux bas et aux médiums, mais il était toujours en train de s'incliner. Je vais devoir aller vérifier la source et modifier le graphique en arrière et voir si je peux obtenir une capture d'écran.

À l'heure actuelle, je n'ai que l'arrêt du graphique à 2 jusqu'à ce que je puisse le résoudre.

Répondre

2

alt text http://img140.imageshack.us/img140/1279/smoothlinebezierxl0.jpg

(Fournir une image du comportement pour vous aider à obtenir une meilleure réponse). Pour ceux qui ont une théorie, vous pouvez aussi essayer ceci dans Excel (pas seulement Reporting Services).

Vous avez mentionné l'ajout de points dans votre question, mais il semble que l'ajout de points interpolés près de la zone de problème ait l'effet souhaité (par exemple {(1,12), (1,5, 18)}). C'est une «solution» maladroite au mieux cependant.

+0

Le lien de l'image est cassé. –

0

Vous pouvez essayer d'utiliser une interpolation de cosinus pour les points intermédiaires.