首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plottable.Plots.Rectangle创建宽度为0的矩形

Plottable.Plots.Rectangle创建宽度为0的矩形
EN

Stack Overflow用户
提问于 2016-10-20 18:17:59
回答 1查看 32关注 0票数 1

我有以下数据:

代码语言:javascript
复制
[{
    "date": "2016-10-12T00:00:00.000Z",
    "parameter": "end_brick_temperature",
    "value": 61.3,
    "color": "green"
}, {
    "date": "2016-10-12T00:00:00.000Z",
    "parameter": "percentage_of_expected_messages_received",
    "value": 99.6667,
    "color": "green"
}, {
    "date": "2016-10-12T00:00:00.000Z",
    "parameter": "energy_used_kwh",
    "value": 1.73418,
    "color": "orange"
}, {
    "date": "2016-10-12T08:00:00.000Z",
    "parameter": "energy_used_kwh",
    "value": 0.70354,
    "color": "red"
}, {
    "date": "2016-10-12T08:00:00.000Z",
    "parameter": "end_brick_temperature",
    "value": 57.7,
    "color": "green"
}, {
    "date": "2016-10-12T08:00:00.000Z",
    "parameter": "percentage_of_expected_messages_received",
    "value": 98.3333,
    "color": "green"
}, {
    "date": "2016-10-12T16:00:00.000Z",
    "parameter": "percentage_of_expected_messages_received",
    "value": 99.1667,
    "color": "green"
}, {
    "date": "2016-10-12T16:00:00.000Z",
    "parameter": "energy_used_kwh",
    "value": 0,
    "color": "red"
}, {
    "date": "2016-10-12T16:00:00.000Z",
    "parameter": "end_brick_temperature",
    "value": 42.2,
    "color": "green"
}, {
    "date": "2016-10-13T00:00:00.000Z",
    "parameter": "energy_used_kwh",
    "value": 1.73979,
    "color": "orange"
}, {
    "date": "2016-10-13T00:00:00.000Z",
    "parameter": "end_brick_temperature",
    "value": 66.2
}, {
    "date": "2016-10-13T00:00:00.000Z",
    "parameter": "percentage_of_expected_messages_received",
    "value": 99.3333,
    "color": "green"
}, {
    "date": "2016-10-13T08:00:00.000Z",
    "parameter": "end_brick_temperature",
    "value": 59.8,
    "color": "green"
}, {
    "date": "2016-10-13T08:00:00.000Z",
    "parameter": "energy_used_kwh",
    "value": 0.711456,
    "color": "red"
}, {
    "date": "2016-10-13T08:00:00.000Z",
    "parameter": "percentage_of_expected_messages_received",
    "value": 98.3333,
    "color": "green"
}]

我正在尝试使用以下代码使用Plottable.Plot.Rectangle创建一个热图:

代码语言:javascript
复制
    var xScale = new Plottable.Scales.Time().domain([data[0].date, data[data.length - 1].date]);
    var xAxisDate = new Plottable.Axes.Time(xScale, "bottom");
    var yScale = new Plottable.Scales.Category();
    var yAxisParameters = new Plottable.Axes.Category(yScale, "left");

    var plot = new Plottable.Plots.Rectangle()
        .addDataset(new Plottable.Dataset(data))
        .x(function (d) {
            return d.date
        }, xScale)
        .y(function (d) {
            return d.parameter
        }, yScale)
        .attr("fill", function (d) {
            return d.color
        });

    var table = new Plottable.Components.Table([
        [yAxisParameters, plot],
        [null, xAxisDate]
    ]);

    table.renderTo("svg#heatmap");

然而,它只是创建了宽度为0的矩形,因此在x轴(日期)上有些东西不起作用:

代码语言:javascript
复制
<rect fill="green" width="0.0000028312475887345677"
    x="-0.0000014156237943672838" height="81.66666666666667" y="0">  
</rect>
EN

回答 1

Stack Overflow用户

发布于 2016-10-20 18:30:14

似乎你必须指定.x2(),例如

代码语言:javascript
复制
.x2(function (d) {
            return new Date().setHours(d.date.getHours() + 8);
}, xScale)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40151625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档