【问题标题】:amcharts logarithmic scale togglingamcharts 对数刻度切换
【发布时间】:2016-04-25 16:29:38
【问题描述】:

我有不同的数据,这意味着有些使用线性刻度看起来更易读,而另一些则需要对数刻度。

我正在尝试通过以下代码绘制堆积面积图

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,
                        }]
                    });

我想要完成的是在切换 Y 比例后重绘。我一直在尝试使用以下

$("#scale_change_"+tag_id).change(function() {
                        if ( $(this).is(":checked") ) {
                            am_chart.valueAxes[0].logarithmic = true;
                        } else {
                            am_chart.valueAxes[0].logarithmic = false;
                        }
                        am_chart.validateData();
                    });

不幸的是,这不起作用。有人可以阐明我应该做什么来切换比例,然后强制重绘吗?理想情况下,堆叠应该在尺度变化之间持续存在......

【问题讨论】:

  • 你能提供Jsfiddle吗?
  • jsfiddle.net/ake2uqqj/2 如果我将默认设置为对数,它也会做一些奇怪的事情。
  • 在堆叠场景中使用对数刻度没有多大意义。您可以通过设置treatZeroAs: 0.0001 来修复您的图表,但是生成的图表(当切换到对数刻度时)看起来不太有用:jsfiddle.net/ake2uqqj/4

标签: jquery amcharts


【解决方案1】:

我遇到了完全相同的问题。对数刻度不适用于我的所有数据集。它适用于某些人,而不适用于其他人。我发现如果您希望轴具有对数刻度,则必须确保:

-轴的数据没有零值

-轴的数据没有负值

这可能是因为这个库的对数功能的编码方式。

【讨论】:

    【解决方案2】:

    这是正确的,因为在数学上你不能有零或负数的对数。他们没有意义

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 2013-01-09
      • 2011-11-01
      • 1970-01-01
      相关资源
      最近更新 更多