Domanda

Quando usi Zedgraph per i grafici a linee e imposti IsSmooth su true, le linee sono piacevolmente curve invece di avere angoli/angoli netti.

Anche se questo sembra molto migliore per la maggior parte dei grafici, a mio modesto parere, c'è un piccolo problema.L'algoritmo di livellamento fa sì che la linea subisca una piccola "immersione" o "rimbalzo" prima di andare verso l'alto o verso il basso.

Nella maggior parte dei casi, se i punti dati sono di per sé fluidi, questo non è un problema, ma se i tuoi punti dati vanno, diciamo, da 0 a 15, l'immersione fa sì che la linea vada sotto l'asse x, il che fa sembrare che lì ci sono alcuni punti dati sotto lo zero (il che non è il caso).

Come posso risolvere questo problema (preferibilmente facilmente;)

È stato utile?

Soluzione

Non c'è una risposta semplice per questo.Mantenere la tensione vicino allo zero sarà la soluzione più semplice.

ZedGraph utilizza il parametro di tensione DrawCurve di GDI per applicare la morbidezza, che probabilmente è l'interpolazione Hermite.Puoi provare a implementare la tua interpolazione del coseno, che manterrà gli estremi locali a causa della sua natura.Puoi guardare questo link per capire perché:http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/

MODIFICARE:Il sito web è inattivo.Ecco una versione cache della pagina:http://web.archive.org/web/20090920093601/http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/interpolation/

Altri suggerimenti

Potresti provare a modificare la proprietà myCurve.Line.SmoothTension verso l'alto o verso il basso e vedere se questo aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top