Ho un controllo ZedGraph con poche curve al suo interno e voglio aggiungere linee verticali ad alcune posizioni x fisse. Le linee dovrebbero ovviamente essere solo all'interno dell'area del grafico reale.Linee verticali ZedGraph con problema LineObj
Ho cercato seguente
LineObj line = new LineObj(Color.Black, xPos, myPane.YAxis.Scale.Min, xPos, myPane.YAxis.Scale.Max);
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash;
line.Line.Width = 1f;
myPane.GraphObjList.Add(line);
e questo funziona bene finché l'utente ingrandisce il grafico, le linee verticali saranno quindi allungare dell'area del grafico effettivo (vedi link pic sotto, anche notare che non è tratteggiata all'interno del grafico, dispari).
http://imageshack.us/photo/my-images/196/zedgraphzoom.png/
C'è un modo per risolvere questo (se solo ci fosse aa modo per ottenere myPane.Xaxis.Scale.Min e Max del zoom corrente e quindi aggiornare il grafico nella ZoomEvent?) O sono Esistono classi/metodi migliori da utilizzare diversi da LineObj per questo scopo?
Funziona bene fino a quando tu non chiamare zedGraphControl.AxisChange() afterwords, nel qual caso si aggiungerà margine in fondo, ma credo che si può fare tutto ciò che richiede quella chiamata prima di aggiungere le linee. Grazie! – HischT
Una soluzione consiste nel creare un asse Y secondario, quindi inserire la scala scale.max e min su entrambi 0 e 1, quindi collegare LineItem ad esso con due punti (x, 0) e (x, 1). In questo modo, rimane indipendente dall'asse opposto. – Larry