2017-05-11 6 views
1

Ich muss eine Linie, die viele Punkte (200) und am Anfang x gleich y hat.ChartJS Liniendiagramm x = y nicht geradlinige Linie

Aber wie Sie auf diesem codepen sehen können, ist die Linie nicht gerade. Gibt es eine Möglichkeit, ein glattes Rendering zu haben?

Vielen Dank

var ctx = document.getElementById("myChart"); 

function generateFakeData() { 
    var res = []; 
    var i = 0; 
    for (i = 0; i < 200; ++i) { 
    res.push(i); 
    } 

    return res; 
} 
var myChart = new Chart(ctx, { 
    type: "line", 
    data: { 
    labels: generateFakeData(), 
    datasets: [ 
     { 
     label: "# of Votes", 
     data: generateFakeData(), 
     radius: 0, 
     borderColor: "#156FB4" 
     } 
    ] 
    }, 
    options: { 
    scales: { 
     yAxes: [ 
     { 
      ticks: { 
      beginAtZero: true 
      } 
     } 
     ] 
    } 
    } 
}); 
+0

Haben Sie eine Lösung gefunden? – Nelson

+0

Ich landete nur die ersten und letzten Punkte der Geraden ... –

+0

Ich ging mit nur Hinzufügen von Punkten, wo der Gradient ändert. Sieht gut aus, aber es wäre schön gewesen, jeden Punkt zu erfassen. – Nelson

Antwort

0

Wenn Sie Ihre gefälschte Daten Funktion ändern waren zu sein: sonst

function generateFakeData() { 
    var res = []; 
    res[0] = 0; 
    res[200] = 200; 
    return res; 
} 

und fügen spanGaps: true zu den Optionen, wird die Linie schön und gerade, Die Art und Weise, wie die Pixel ausgerichtet sind, lässt sie gezackt erscheinen, wenn sie versucht, sie miteinander zu verbinden.

Nicht sicher, ob dies bei Ihrem Anwendungsfall hilft.

+0

Vielen Dank für die Antwort, aber ich brauche Daten, wenn ich die Linie schwebe ... –

Verwandte Themen