如何使用D3.js根据json中给出的数据在Heatmap中创建可变大小的矩形
How to create rectangles of variable size in Heatmap according to data given in json using D3.js?
我制作了一个Heatmap,它通过颜色强度来表示值。如何创建一个Heatmap,其中矩形大小将用于表示json中的值?我尝试了以下代码,但没有给出所需的输出。
<body>
<div id="chart"></div>
<div id="dataset-picker">
</div>
<script type="text/javascript">
var width=400,
height=300,
buckets=9,
colors = ["#ccd9ff", "#99b3ff", "#668cff", "#3366ff", "#0040ff", "#0033cc", "#002699", "#002080", "#00134d"],
datasets = [{
"day": 1,
"hour": 1,
"value1":16,
"value2":20
},
{
"day": 1,
"hour": 2,
"value1":23,
"value2":10
},
{
"day": 1,
"hour": 3,
"value1":13,
"value2":12
}
];
var canvas=d3.select("#chart").append("svg")
.attr("width",width)
.attr("height",height)
.append("g")
var colorScale = d3.scale.quantile()
.domain([0, buckets - 1, d3.max(datasets, function (d) { return d.value2; })])
.range(colors);
var squares=canvas.selectAll("rect")
.data(datasets)
.enter()
.append("rect")
.attr("x", function (d,i) {return (i)* d.value1})
/*.attr("y",function (d,i) { return (i-1)* d.value2})*/
.attr("width",function(d){return d.value1 *10 })
.attr("height",function(d){return d.value2*10})
.attr("class", "hour bordered")
.style("fill", colors[0]);
</script>
我想你的意思是这样的:http://jsfiddle.net/bc4um7pc/315/
您定义颜色范围:
var colorScale = d3.scale.quantile()
.domain([0, buckets - 1])
.range(colors);
然后从该范围中选择一种颜色,并从数据集中选择一个值:
.style("fill", function(d){return colorScale(d.value1);});
由于范围是从0到buckets-1=8,没有一个d.value1
与范围匹配,所以我将1个value1
更改为3,这样您就可以看到差异。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 为effect Composer创建GodRays效果过程
- 从javascript创建一个列表
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何访问声音管理器2创建的声音对象
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 使用Facebook live API创建实时视频对象时的隐私设置
- 在动态创建的元素上获取对特定选择器的引用
- 如何创建带有插槽的vue js组件预加载程序
- 如何在创建键时引用来自同一对象的键
- 如何创建JSON数组
- 从html创建一个指令,该指令按类名应用函数
- 使用Javascript创建测验页面
- 更改使用Chart.js创建的图表中的轴线颜色
- JavaScript名称空间和对象创建
- JQuery对动态创建的对象进行选择
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 如何使用D3.js根据json中给出的数据在Heatmap中创建可变大小的矩形