【问题标题】:Why are these Cubism horizon charts squished to the left?为什么这些立体主义的地平线图向左挤压?
【发布时间】:2012-09-14 17:32:24
【问题描述】:

我正在从 Graphite 加载指标,但是当它们在水平图表上呈现时,它们会在图表的左侧被挤压,而不是占据图表空间的整个宽度。这是一个屏幕截图来说明我的意思:

该数据来自我请求的 3 小时窗口。以下是最顶层水平图表的一些石墨输出:

,1347632400,1347643200,60|892.0,526.0,371.0,1475.0,1234.0 [...] 1250.0,1604.0,1146.0,965.0

很难从图像中分辨出来,但这些值确实与绘制的内容一致。只是他们没有占用所有空间。

图表被绘制成一个简单的<div id="#graphs">,其中只有position: relativewidth: 1080px; 用于CSS 属性。这是 Cubism JavaScript:

var context = cubism.context()
    .step(1e4)
    .size(1080);  // 3 hours

var graphite = context.graphite("http://graphite.example.com");
var horizon = context.horizon().metric(graphite.metric).height(100);

var metrics = [
    "prod.counts.total_stats",
    "stage.counts.total_stats",
    "dev.counts.total_stats"
]

d3.select("#graphs").append("div")
    .attr("class", "axis")
    .call(context.axis().ticks(12).orient("top"));

d3.select("#graphs").append("div")
    .attr("class", "rule")
    .call(context.rule());

d3.select("#graphs").selectAll(".horizon")
    .data(metrics)
  .enter().append("div")
    .attr("class", "horizon")
    .call(horizon);

CSS 的其余部分几乎是从stocks demo 复制粘贴而来的。为简洁起见,我不会包括在内,但如果有必要,我可以。

【问题讨论】:

    标签: javascript d3.js cubism.js


    【解决方案1】:

    issue 20:

    目前,当 Cubism 请求 10 秒指标时,Graphite 将返回其最低分辨率的数据;但是,可用的最低分辨率实际上可能是更高的分辨率(例如 1 分钟数据)。立体主义,不知道更好,不准确地显示这些数据,而不是对数据进行上采样。

    您可以通过在 Graphite 中存储更高分辨率的数据或通过说 summarise(metric, "10s") 来解决此问题。

    【讨论】:

    • 是的,就是这样!当我们最近更改石墨布局时,我们忘记为新的键空间调整 storage-schemas.conf。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多