[D3] 6. Color Scale

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="../bower_components/underscore/underscore-min.js"></script>
    <script src="../ventor/d3.min.js"></script>
    <style type="text/css">

        body
        {
            padding-top: 50px;
            padding-left: 100px;

        }

        #chartArea {
            width: 400px;
            height: 300px;
            background-color: #CCC;
        }

        .bar
        {
            display: inline-block;
            width: 20px;
            height: 75px; /* Gets overriden by D3-assigned height below */
            margin-right: 2px;
           /* fill: teal; *//* SVG doesn‘t have background prop, use fill instead*/
            z-index:99;
        }

    </style>
</head>
<body>
<section id="chartArea"></section>
<script>
    var dataset = _.map(_.range(15), function(num) {
        return Math.random() * 50;
    }), //reandom generate 15 data from 1 to 50
            w = 400, h = 300;
    var svg = d3.select(‘#chartArea‘).append(‘svg‘)
            .attr(‘width‘, w)
            .attr(‘height‘, h); //svg deosn‘t need ‘px‘

    var yScale = d3.scale.linear()
            .domain([0, d3.max(dataset) * 1.1]) //d3.max(dataset), set the max val of database
            .range([0, h]);

    var xScale = d3.scale.ordinal()
            .domain(dataset)
            .rangeBands([0,w],0.3, 0.1);

//    var colorScale = d3.scale.category20c();
    var colorScale = d3.scale.linear()
            .domain([0, d3.max(dataset)])
            .range(["#9c9ede","#6b6ecf","#5254a3", "#393b79"]);

    svg.selectAll(‘div‘)
            .data(dataset)
            .enter()
            .append(‘rect‘)// svg doesn‘t have div, use rect instead
            .attr(‘class‘, "bar")
            .attr(‘width‘, xScale.rangeBand())
            .attr(‘x‘, function(each_data, index){
                return xScale(each_data);
            })
            .attr(‘y‘, function(each_data){
                return h-yScale(each_data);
            })
            .attr(‘height‘, function(each_data, i){
                return yScale(each_data);
            })
            .attr(‘fill‘, colorScale);
</script>
</body>
</html>
时间: 2024-10-13 16:22:00

[D3] 6. Color Scale的相关文章

OpenCASCADE Color Scale

OpenCASCADE Color Scale [email protected] Abstract. The color scale is a specialized label object that displays a color map and an accompanying numerical scale for color mapped or contour data plots. As the geometry modeling kernel of SALOME, OpenCAS

精通D3.js学习笔记(2)比例尺和坐标

1.线性比例尺 d3.scale.linear()   创建一个线性比例尺 .domain([0,500]) 定义域 .range([0,1000]) 值域 linear(x)  输入定义域 返回 值域 linear.invert(y) 输入值域,返回定义域 linear.domain([numbers]) 设定或获取定义域 linear.range([values])设定或获取值域 linear.rangeRound([valuses]) 四舍五入,结果是整数 linear.clamp([bo

d3系列2--api攻坚战05

今天的内容相比之前的就有点儿难了?怂了没? 别问我为什么不讲具体内容,你写十遍自己就清楚到底是怎么回事了,画画的事儿还是得动笔动键盘. 先看看效果图 其实如果用笨办法一条一条画的话,也不难.但是设想一下如果是很多很多条线呢?必须要用科学的数据组织方式才可以实现自动xxx. 下面的我最快弄到了13分钟,不能再快了 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g

【D3.js】Focus + Context 折线图

利用D3.js库实现Focus+Context的折线图,读取data.tsv文件数据 index.html <!DOCTYPE html> <meta charset="utf-8"> <style> svg { font: 10px sans-serif; } .axis path, .axis line { fill: none; stroke: #000; shape-rendering: crispEdges; } .line { fill:

[JS] JavaScript框架(2) D3

D3(Data-Driven Documents)是一个用于网页作图.生成互动图形的JavaScript函数库. 官网:http://d3js.org/ 下载: cdn:<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script> d3.zip 1.hello world d3.select('body') /

d3学习之(Data Visualization with d3.js Cookbook )(第四章)-3

3.使用分类范围尺 在某些情况下,我们可能需要将我们的数据映射到一些分类的(顺序的)值,比如[a,b,c]或者[# 1f77b4, # ff7f0e, #2ca02c]等,如何用D3来处理这类映射呢,本节将回答这个问题. 老规矩还是先上代码,打开你的编辑器,输入如下代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ordinal Scale</

D3js-绘制地图时出现过小, 设置scale还是无效 的解决方法

使用d3绘制某个地市的地图时,把scale成很大可是还是无法达到想要的效果. //------------------------------------------------------------- //获得地图的中心 获得center function getCenters(features){ var longitudeMin = 100000;//最小经度值 var latitudeMin = 100000;//最小纬度值 var longitudeMax = 0;//最大经度值 v

D3 入门笔记

一.第一个程序 选择集: 使用d3.select()或者 d3.selectAll()选择元素后返回的对象,就是选择集 d3能够连续不断地调用函数,形如:d3.select().selctAll().text()这称为链式语法 二.选择元素和绑定数据 在D3中,用于选择元素的函数有两个: d3.select():是选择所有指定元素的第一个 d3.selectAll():是选择指定元素的全部 这两个函数返回的结果称为选择集,选择集合绑定数据通常是一起使用的 D3 中通过以下两个函数来绑定数据: 1

D3.js学习(五)

上一节我们已经学习了如何设置填充区域,其实理解了他的实现原理还是非常简单了.这一节中, 我们主要学习多条曲线的绘制,以及给不同的曲线指定不同的纵坐标. 新的数据 由于我们要画两条曲线,所以我们要在原来的基础上新增一组测试数据,现在我们的数据是这样的: date close open 1-May-12 58.13 3.41 30-Apr-12 53.98 4.55 27-Apr-12 67.00 6.78 26-Apr-12 89.70 7.85 25-Apr-12 99.00 8.92 24-A