2016-08-18 18 views
6

Używam dyrektywy wykresu liniowego z Angular-Chart.js (at https://jtblin.github.io/angular-chart.js/#line-chart).Angular-chart.js - aby wykres liniowy nie krzywa

Jak widać na powyższym łączu, wykres liniowy jest krzywą. Nie chcę krzywej, chciałbym linii prostej. Jak mogę skonfigurować wykres liniowy, aby nie krzywa? Dziękuję bardzo.

+0

Proszę napisać, że próbowaliście do tej pory. Myślę, że znam rozwiązanie twojego pytania. Mogę wskazać ci właściwy kierunek. –

+0

@Umair Farooq: Próbowałem z przykładowym kodem pod linkiem w moim pytaniu. Nie widzę żadnej konfiguracji wykresu liniowego, aby usunąć krzywą. Czy możesz podzielić się swoim pomysłem na ten temat. Dzięki. – tana

Odpowiedz

9

można użyć chart-options aby linię straight zamiast curved.

płótnie będzie wyglądać mniej więcej tak:

<canvas class="chart chart-line" chart-data="lineData" chart-labels="lineLabels" chart-series="lineSeries" chart-options="lineOptions" chart-click="onClick"></canvas> 

Dodaj lineOptions w kontrolerze tak:

$scope.lineOptions ={ elements : { line : { tension : 0 } } }; 
//define other variables required for `line` as per your requirement. 
//lineData , lineLabels , lineSeries, OnClick 

uczyni napięcie linii: 0. W ten sposób twoja linia stanie się prosta.

Jeśli nadal nie są w stanie dokonać prostej przy powyżej methd, można spróbować zainstalować najnowszy pakiet (beta) za pomocą polecenia poniżej:

bower install --save angular-chart.js#1.0.0 

Mam nadzieję, że to rozwiąże problem.

+0

Dzięki Ravi, działa jak urok . Mam jeszcze jedno pytanie, gdzie mogę odesłać dokument do "opcji", myślałem, że trzeba to wyjaśnić w niektórych miejscach, prawda? Chcę całkowicie zrozumieć "opcję". – tana

+1

widać wszystkie opcje dostępne w dokumentacji programu chartjs. http://www.chartjs.org/docs/ .Proponuję, abyś właściwie przeczytał i zrozumiał "konfigurację wykresów" do używania 'opcji'. To może trochę potrwać, ale warto ją przeczytać. –

+0

Dla mnie 'tension: 0' powoduje dziwne zachowanie. Mam linie proste pracujące z naprężeniem: 0,1. Warto spróbować, jeśli napotkasz coś dziwnego. –

0

Spróbuj umieścić tę samą wartość dla każdego indeksu w zbiorze danych. To da ci poziomą linię prostą na wybranym punkcie wzdłuż osi Y.

angular.module("app", ["chart.js"]).controller("LineCtrl", function ($scope) { 

    $scope.labels = ["January", "February", "March", "April", "May", "June", "July"]; 
    $scope.series = ['Series A', 'Series B']; 
    $scope.data = [ 
    [65, 65, 65, 65, 65, 65, 65], 
    [35, 35, 35, 35, 35, 35, 35] 
    ]; 
    $scope.onClick = function (points, evt) { 
    console.log(points, evt); 
    }; 
    $scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }]; 
    $scope.options = { 
    scales: { 
     yAxes: [ 
     { 
      id: 'y-axis-1', 
      type: 'linear', 
      display: true, 
      position: 'left' 
     }, 
     { 
      id: 'y-axis-2', 
      type: 'linear', 
      display: true, 
      position: 'right' 
     } 
     ] 
    } 
    }; 
}); 

Oto markup

<canvas id="line" class="chart chart-line" chart-data="data" 
chart-labels="labels" chart-series="series" chart-options="options" 
chart-dataset-override="datasetOverride" chart-click="onClick" 
</canvas> 
+0

Dzięki za twój pomysł. Ale może nie rozumiesz, co mam na myśli. Chcę, aby była to linia liniowa (https://bouil.github.io/angular-google-chart/#/generic/LineChart). Masz jakiś pomysł? – tana

+0

Spróbuj wyjaśnić, czego chcesz. W razie potrzeby mogę edytować pytanie. –

+0

Przepraszamy. Umair Farooq. Pozwól mi wyjaśnić: Wykres liniowy wykresu kątowego narysuj krzywą, aby połączyć punkty. Ale nie chcę krzywej, chcę linii prostej, aby połączyć punkty linii google jak wykres na https://bouil.github.io/angular-google-chart/#/generic/LineChart – tana