我正在从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: relative
和width: 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复制粘贴的。为了简洁起见,我不会将其包含在内,但如果有必要,我可以。
答案 0 :(得分:4)
请参阅issue 20:
当Cubism请求10秒指标时,Graphite将返回其分辨率最低的数据;但是,最低可用分辨率实际上可能是更高的分辨率(例如1分钟数据)。立体主义,不知道更好,不准确地显示这些数据,而不是对数据进行上采样。
您可以通过在Graphite中存储更高分辨率的数据,或者通过说汇总(公制,“10s”)来解决这个问题。