2017-03-16 10 views
-1

Das Problem in Build-Diagramm. Ich benutze das TChart (Microsoft Visual Studio 2012). -Code, wo ich mein GraphDie Punkte gehen auf die Null

for(int j = 0;j<Nt-1;j++) 
{ 
    for(int i = 0;i<Nx;i++) 
    {     
     chart2->Series["Series1"]->BorderWidth=3; 
     chart2->Series["Series1"]->Points->AddXY(i,wht[j][i]); 
    } 
} 

Dieser Graph enter image description here

Die Punkte auf die Null gehen bauen, aber die richtige Lösung ist die Linien fortgesetzt und endeten in ihrer Linie (ohne Nullen)

+3

Bitte formatieren Sie Ihren Code richtig. –

+3

Ihre 'For'-Loops haben keine Funktion. – mch

+0

@mch in dieser Schleife 'for' (beim Erstellen eines Graphen) enthält bereits das Array mit Ergebnissen der Funktion. Dieses Array ist 'wht [j] [i]' – beginner

Antwort

1
chart2->Series["Series1"]->Points->AddXY(i,wht[j][i]); 

Sie haben nur eine Chart-Serie, und diese Serie hat die erste Reihe von Ergebnissen (j==0), gefolgt von der zweiten Reihe, (j==1), gefolgt von der dritten, usw. So die Poi nts sieht wie folgt grafisch dargestellt:

 
(0, 0) 
(1, 0) 
(2, 0) 
(3, 0) 
(4, 3) 
(5, 3) 
(6, 3) 
(7, 3) 
(8, 3) 
(0, 0) 
etc... 
(8, 2.9) 
(0, 0) 
etc... 

Also, schauen, was nach dem ersten Satz passiert: Der letzte Punkt in Satz 1 ist (8, 3), und der nächste Punkt, den Sie ihm sagen, ist grafisch darzustellen (0, 0). Und es zeichnet eine Linie von einem Punkt zum nächsten.

Was Sie tun müssen, ist Ihr Diagramm mit mehreren Serien einzurichten, und verwenden Sie eine neue Serie für jeden Datensatz. Vielleicht würde das in etwa so aussehen:

chart2->Series["Series" + (j+1).ToString()]->Points->AddXY(i,wht[j][i]); 
Verwandte Themen