【问题标题】:How correctly plotting an histogram with ZingChart?使用 ZingChart 如何正确绘制直方图?
【发布时间】:2016-01-22 12:55:21
【问题描述】:

我目前正在构建一个要在其中显示直方图的应用程序。问题是我无法使用 zingchart 正确渲染直方图...我希望将 scale-x 的刻度放置在数据点的每一侧,而不是集中在它们上,因为它们代表直方图箱的边界。

下面是使用 numpy 包中的 histogram 函数计算数据以创建直方图的 python 函数。

from numpy import histogram

def graph(self):

    results = sorted(results, key=lambda x: mark)
    marks = [result.mark for result in results]

    maximum = 20
    divisor = maximum
    step = maximum / divisor

    data, bin_edges = histogram(a=marks, range=(0, maximum), bins=divisor)
    data = data.tolist()

    return {'data': data, 'divisor': divisor, 'maximum': maximum, 'step': step}

然后在视图中使用这个直方图数据来渲染 zing 图表图形(这是一个 Jinja2 模板,因为我使用 Flask-framework):

<script>
    var chartData = {
        "type": "bar",
        "plot": {
            "aspect": "histogram",
        },
        "plotarea": {
            "adjust-layout": true,
        },
        "series": [
            {"values": {{ graph['data'] }}},
        ],
        "scale-x": {
            "progression": "lin",
            "min-value": 0,
            "max-value": {{ graph['maximum'] }},
            "step": {{ graph['step'] }},
            "decimals": 1,
        },
    };

    zingchart.render({
        "id": "graph1",
        "data": chartData,
        "width": "100%",
        "height": "400px",
        });
</script>

【问题讨论】:

    标签: javascript python flask zingchart


    【解决方案1】:

    编辑

    要偏移 scale-x 数字位置,只需将 offsetX 属性添加到 scaleX.item 即可。这是一个例子......

    scaleX: {
      item: {
        offsetX: 20
      }
    }
    

    ZingChart 直方图的默认行为是在数据点的每一侧放置刻度线。我在您的图表 JSON 中放置了一些虚拟数据并将其渲染出来。这就是它所显示的。

    您可以在这里查看图表:http://demos.zingchart.com/view/GQEQHWVV

    您能否更深入地了解您要解决的问题?您传递的数据可能存在问题。据我所知,ZingChart 可以正确呈现直方图。

    仅供参考:我是 ZingChart 团队的一员

    【讨论】:

    • 好吧,也许我有点不清楚。刻度线放置正确,但标签在条形下方居中,我希望它们位于刻度线的中心。我正在处理分数,所以如果我们将您的图表视为输出,第一个条形代表分数介于 0 和 1 之间的学生人数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多