【发布时间】:2013-06-25 15:01:16
【问题描述】:
我发现 d3js 非常有趣。所以我想我应该试一试。我对这个框架相当陌生,需要一些帮助 我有一个 json 文件。事情是这样的--:
["2511a51", [["mumbai",1,6], ["Baroda",2,7]]]
["2882bd9", [["mumbai",3,8], ["chennai", 2,9]]]
["1d3e1a2", [["mumbai",0,3],["Baroda",2,6], ["Delhi",7,1]]]
["1882b41", [["mumbai",10,9]]]
["1d4ffd8", [["chennai",2,5], ["mumbai", 5,9], ["Delhi",8,8]]]
这里,
- 2511a51 是会话 ID(忽略)
- 孟买、巴罗达、钦奈和德里!!!是印度城市。
- Mumbai=绘制红色矩形,baroda=棕色矩形,chennai=绿色矩形,delhi=蓝色矩形
我想要的是,如果一个 json 行有 a 和 b -->那么应该绘制它们各自的彩色矩形,保持 c 和 d 为空。所以对于整个数组,我得到以下输出。 如图所示,
- 5 个会话 ID 表示 5 行。
- 第一行和第二行包含两个矩形,第三行和第五行包含三个矩形,第四行包含一个矩形,每个城市都有各自的颜色和列
- 基于第二个值(例如第一行的 1 和 6)-->它们的颜色强度将取决于!!!数字越多,颜色越深!!!
我想以这样的方式编写我的 javascript 代码 ---:
我的代码:
<!DOCTYPE html>
<html>
<head>
<title>demo-staticArray!!!</title>
</head>
<body>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var SVG = d3.select("body").append("svg")
.attr("class","stage")
.attr("width",800)
.attr("height",600)
.style("background-color", "beige")
.style("margin-left","200");
var array= ["2511a51", [["a",1], ["b",2]]]
["2882bd9", [["a",3], ["c", 2]]]
["1d3e1a2", [["a",0],["b",2], ["d",7]]]
["1882b41", [["a",10]]]
["1d4ffd8", [["c",2], ["b", 5], ["d",8]]]
var RECT= SVG.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("width", 30)
.attr("height", 10)
.style("fill","red");//how do I provide conditions for fill-->a=red,b=brown,c=green,d=blue
//how do I manage them such that they are arranged in a manner shown in the image.
//I am unable to move ahead of this!!!!I am facing problem in iterations and conditions
</script>
</body>
</html>
如果可能,请提供一个小的工作样本!!!
【问题讨论】:
-
通常情况下,您应该为这种“任务”提供一个 jsfiddle...
-
是的,我同意,但我不知道如何在其中添加 d3.js 脚本??
-
5 分钟!!!我正在拉小提琴
-
(左侧的外部来源)
-
d3.js 也在“框架和扩展”中
标签: jquery json d3.js javascript