Laden...

zedgraph neu zeichnen?

Erstellt von DaPedro vor 16 Jahren Letzter Beitrag vor 16 Jahren 3.084 Views
D
DaPedro Themenstarter:in
10 Beiträge seit 2006
vor 16 Jahren
zedgraph neu zeichnen?

hi,

ich möchte in einer form meine funktion mehrmals zeichnen können, wenn sich die eingabewerte ändern und die alte kurve soll dabei gelöscht werden aber ich kriege nicht raus wie...

z.Z. zeichnet er immer in das selbe control hinein siehe anhang.

weiß jemand wie ich das beheben kann?

beim click auf "zeichnen" wird mein chart erstellt


        private void button1_Click(object sender, EventArgs e)
        {            
            obj_ber.koords();
            CreateChart(zedGraphControl1);
        }
        public void CreateChart(ZedGraphControl zgc)
        {
            [...]
        }

danke und gruß
pedro

D
67 Beiträge seit 2006
vor 16 Jahren

Im meiner Anwendung, in der ich ZedGraph verwende, lösche ich meinte nicht mehr gebrauchten Kurven mit:

this.ZedGraphControl.GraphPane.CurveList.Clear();

„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay

D
DaPedro Themenstarter:in
10 Beiträge seit 2006
vor 16 Jahren

ah das hört sich super an, werd ich gleich mal probieren. danke

D
DaPedro Themenstarter:in
10 Beiträge seit 2006
vor 16 Jahren

hey,

der tipp mit clear hat super funktioniert. vielen dank.

jetzt macht meine kurve etwas komisches, und zwar zeichnet er mir eine linie vom startpunkt bis zum endpunkt obwohl er ja nur eine linie den punkten entlang zeichnen soll...
weiß jemand wie ich das weg bekomme?

gruß

B
214 Beiträge seit 2005
vor 16 Jahren

Kannst du den Aufruf der Funktion, die die Kurve zeichnet mal posten?

Grüße Bionic

.:: SilvrGame - Browsergame Development with Silverlight
.:: Bionic's blOg

D
DaPedro Themenstarter:in
10 Beiträge seit 2006
vor 16 Jahren

das ist die funktion die mir die kurve erstellt


public void CreateChart(ZedGraphControl zgc)
{

GraphPane myPane = zgc.GraphPane;

myPane.Title.Text = "Graph der Funktion";
myPane.XAxis.Title.Text = "X-Achse";
myPane.YAxis.Title.Text = "Y-Achse";

PointPairList list = new PointPairList();
for (int i = 0; i < obj_ber.segm; i++)
{
list.Add(obj_ber.X, obj_ber.Y);
}

// Kurve erstellen
LineItem myCurve = myPane.AddCurve("",
list, Color.Green, SymbolType.XCross);

//
myPane.Chart.Border.IsVisible = false;
myPane.XAxis.MajorTic.IsOpposite = false;
myPane.XAxis.MinorTic.IsOpposite = false;
myPane.YAxis.MajorTic.IsOpposite = false;
myPane.YAxis.MinorTic.IsOpposite = false;

zgc.AxisChange();
}

*edit*
okay fehler gefunden. list.add kopiert ja alle elemente auf einmal und nicht jedes einzeln. habe die for-schleife jetzt entfernt und nun gehts