2016-04-25 5 views
1

Ich habe Daten, die variiert, was bedeutet, dass einige mit linearen Skalen lesbarer erscheint, während andere logarithmische Skala erfordert.Amcharts logarithmische Skala toggeln

Ich versuche, ein Flächendiagramm zu zeichnen, über den folgenden Code

AmCharts.makeChart("amchart-metrics-history-"+tag_id, { 
         "type": "serial", 
         "theme": "dark", 
         "titles": [{ 
           "text": "Tag Metrics", 
           "size": 15 
         }], 
         "pathToImages": "/static/img/amcharts/", 
         "legend": { 
          "equalWidths": true, 
          "periodValueText": "", 
          "position": "bottom", 
          "valueAlign": "left", 
          "valueWidth": 100 
         }, 
         "dataProvider": data.data, 
         "dataDateFormat": "YYYY-MM-DD HH:NN:SS", 
         "graphs": [{ 
          "fillAlphas": 0.6, 
          "lineAlpha": 0.4, 
          "title": "Malware", 
          "valueField": "malware_count", 
          "color": "#fff" 
         }, { 
          "fillAlphas": 0.6, 
          "lineAlpha": 0.4, 
          "title": "Benign", 
          "valueField": "benign_count" 
         }, { 
          "fillAlphas": 0.6, 
          "lineAlpha": 0.4, 
          "title": "Grayware", 
          "valueField": "grayware_count" 
         }], 
         "valueAxes": [{ 
          "stackType": "regular", 
          "title": "Sample Count" 
         }], 
         "plotAreaBorderAlpha": 0, 
         "marginTop": 10, 
         "marginLeft": 0, 
         "marginRight":30, 
         "marginBottom": 0, 
         "chartScrollbar": {}, 
         "chartCursor": { 
          "cursorAlpha": 0 
         }, 

         // X-Axis values 
         "categoryField": "time", 
         "categoryAxis": { 
          "parseDates": true, 
          //"startOnAxis": true, 
          //"axisColor": "#DADADA", 
          //"gridAlpha": 0.07, 
          "title": "Date", 
          "minPeriod": "mm", 
         }, 
         "export": { 
          "enabled": false 
         }, 

         "zoomControl": { 
          "zoomControlEnabled": true, 
         }, 

         // Y-Axis specific 
         "valueAxes": [{ 
          "logarithmic": true, 
         }] 
        }); 

Was ich versuche wechseln wir die Y-Skala einmal ist ein Neuaufbau zu erreichen. Ich habe versucht, folgende

zu verwenden Dies funktioniert leider nicht. Kann jemand etwas Licht auf das werfen, was ich tun soll, anstatt die Skala umzuschalten und dann eine Neuzeichnung zu erzwingen? Idealerweise sollte das Stapeln zwischen den Skalierungsänderungen bestehen bleiben ...

+0

können Sie bitte Jsfiddle? –

+0

https://jsfiddle.net/ake2uqqj/2/ Wenn ich den Standardwert logarithmisch festlege, macht es auch merkwürdige Dinge. – geudrik

+0

https://jsfiddle.net/ake2uqqj/3/ jetzt versuchen –

Antwort

0

Ich hatte genau das gleiche Problem. Die logarithmische Skala funktioniert nicht für alle meine Datensätze. Es funktioniert für einige und nicht für andere. Ich fand heraus, dass, wenn Sie eine Achse wollen logarithmische Skala haben, Sie müssen sicherstellen, dass:

-Die Daten der Achse NOT NULL-Werte hat

-Die Daten der Achse haben keine negativen Werte

Es ist wahrscheinlich wegen der Art, wie die logarithmische Funktionalität dieser Bibliothek codiert ist.