如何使用Json文件绘制折线图
How to plot line chart using Json File
我无法用json文件中的数据绘制折线图。请帮我哪里出错了!
我的代码是-http://jsfiddle.net/arnica04/UVe57
<!DOCTYPE html>
<meta charset="utf-8">
<title>Mean Zero Time Series</title>
<style>
/* line style */
path {
stroke: red;
stroke-width: 2;
fill: none; /* stop it being solid area */
}
/* x axis tick */
.x.axis line {
stroke: #000;
}
/* x axis line */
.x.axis path {
fill: none;
stroke: #000;
}
/* Y tick */
.y.axis line, .y.axis path {
fill: none;
stroke: #000;
}
</style>
<div id="graph" class="aGraph" style="position:absolute;top:0px;left:0; float:left;">
</div>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
d3.json("data.json", function(error, data) {
plotChart(data); //load the json data
});
function plotChart(data) {
var w = 800; //width
var h = 400; // height
var x = d3.scale.linear().domain([0, 20]).range([0, w]); // 24 for days
var y = d3.scale.linear().domain([0, 58]).range([h,0]);
var xAxis = d3.svg.axis().scale(x).orient("bottom"); //x axis at bottom
var yAxis = d3.svg.axis().scale(y).orient("left"); // y axis on left
var line = d3.svg.line()
.x(function(d, i) {return x(d.date);})
.y(function(d, i) {return y(d.close);});
var graph = d3.select("#graph").append("svg:svg").attr("width", w )
.attr("height", h+ 200 ).append("svg:g")
.attr("transform", "translate(" + 100 + "," + 100 + ")"); // move chart down
and right
graph.append("g").attr("class", "x axis")
.attr("transform", "translate(0," + h + ")").call(xAxis);
graph.append("g").attr("class", "y axis").call(yAxis);
graph.append("text").attr("class", "x label")
.attr("text-anchor", "end").attr("x", w - (w / 2))
.attr("y", h + 45).text("Time in Days");
graph.append("text").attr("class", "y label")
.attr("text-anchor", "end").attr("y", -60).attr("x", -60)
.attr("dy", ".75em").attr("transform", "rotate(-90)")
.text("Number of Visits");
graph.append("svg:path").attr("d", line(data)); // red line
}
</script>
</html>
我在另一个文件中的数据集被命名为"data.json",它包含:
[
{date:"00",close:"55"},
{date:"07",close:"10"},
{date:"10",close:"58"},
{date:"15",close:"46"},
{date:"20",close:"05"}
]
最好使用交叉过滤器,而不是用D3编写代码。
相关文章:
- 如何用d3.js绘制折线图
- d3绘制动画折线图的基本示例
- 如何在不使用外部库的情况下使用 JavaScript 绘制折线图
- AngularJS nvd3折线图指令未在数据更改时重新绘制(非实时)
- 用不同的x轴数据集绘制谷歌折线图
- 如何隐藏由Chart.js V2.0绘制的组合折线图和条形图中的点
- 根据ajax重新绘制并破坏旧的折线图后,关于折线图(chart.js)的丢点工具提示
- 用谷歌图表json数据绘制简单的折线图,日期在x轴上
- 如何在高图表中使用系列数据绘制折线图
- D3js:如何使用 JSON 数据绘制多系列折线图
- 当 ykey 值等于 0 且 xkey 为月时绘制折线图
- 绘制一个具有三个轴向的谷歌折线图
- 在 flot.js 中绘制折线图和条形图以获取 JSON 数据
- 使用Canvas清除并重新绘制折线图上的数据
- 用jquery绘制折线图来表示数据库值
- 将JSON文件加载到highcharts中以绘制折线图
- 如何使用Json文件绘制折线图
- 如何使用 d3.js 绘制折线图
- 我可以将此 JSON 提供给 D3 以绘制折线图吗?
- 使用数据库值动态绘制折线图