1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| <!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0">
<meta name="author" content="Daniel Hagnoul">
<title>Forum jQuery</title>
<script src="http://cdnjs.cloudflare.com/ajax/libs/headjs/0.99/head.min.js"></script>
<script>
//"use strict";
head.js(
"http://d3js.org/d3.v3.min.js",
"http://danielhagnoul.developpez.com/lib/VerbalExpressions.js",
"http://code.jquery.com/jquery-2.0.3.min.js",
"http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/i18n/jquery-ui-i18n.min.js",
"http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js",
"http://danielhagnoul.developpez.com/lib/dvjh/d3Base.js", function(){
$( function(){
});
$( window ).load( function(){
var width = 550,
height = 500,
radius = Math.min( width, height ) / 2;
var color = d3.scale
.ordinal()
.range( [ "#98abc5", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00" ]);
var arc = d3.svg
.arc()
.outerRadius( radius - 10 )
.innerRadius( 0 );
var pie = d3.layout
.pie()
.sort( null )
.value( function( d ){ return d.population; });
var svg = d3.select( "section.conteneur" )
.append( "svg" )
.attr({
"width" : width,
"height" : height
})
.append( "g" )
.attr( "transform", "translate(" + width / 2 + "," + height / 2 + ")" );
var data = [
{ "age": "<5", "population": "2704659" },
{ "age": "5-13", "population": "4499890" },
{ "age": "14-17", "population": "2159981" },
{ "age": "18-24", "population": "3853788" },
{ "age": "25-44", "population": "14106543" },
{ "age": "45-64", "population": "8819342" },
{ "age": ">64", "population": "612463" },
];
data.forEach( function( d ){
d.population = +d.population;
});
var g = svg.selectAll( ".arc" )
.data( pie( data ) )
.enter()
.append( "g" )
.attr( "class", "arc" );
var path = g.append( "path" )
.attr({
"d" : arc,
"title" : function( d ){
return ( "Âge : " + d.data.age + " ; Population : " + d.data.population );
}
})
.style( "fill", function( d ){ return color( d.data.age ); } );
$( path.node ).tooltip();
g.append("text")
.attr({
"transform" : function( d ){ return "translate(" + arc.centroid( d ) + ")"; },
"dy" : ".35rem"
})
.style( "text-anchor", "middle" )
.text( function( d ){ return d.data.age; });
});
});
</script>
<link href='http://fonts.googleapis.com/css?family=Sofia|Ubuntu:400|Kreon'>
<link rel="stylesheet" href="http://danielhagnoul.developpez.com/styles/dvjhRemBase.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/sunny/jquery-ui.min.css">
<style>
/* TEST -- Nota bene : ici 1 rem est égal à 1 px, voir dvjhRemBase.css */
.arc path { stroke: #ffffff; }
div.tooltip { position: absolute; width: 20rem; height: 10rem; padding: 0.6rem;
font: 1.2rem sans-serif; background: lightsteelblue; border: 0.1rem solid grey;
border-radius: 0.8rem; zoom: 99999; }
</style>
</head>
<body>
<header>
<hgroup>
<h1>Forum jQuery</h1>
<h2>
<a href="">Lien</a>
</h2>
</hgroup>
</header>
<section class="conteneur">
</section>
<footer itemscope itemtype="http://danielhagnoul.developpez.com/">
<time datetime="2013-09-08T00:10:19.400+02:00" pubdate>2013-09-08T00:10:19.400+02:00</time>
<span itemprop="name">Daniel Hagnoul</span>
<a href="http://www.developpez.net/forums/u285162/danielhagnoul/" itemprop="url">@danielhagnoul</a>
<a href="http://danielhagnoul.developpez.com/" itemprop="url">Mon cahier dexercices</a>
<a href="http://javascript.developpez.com/faq/jquery/" itemprop="url">FAQ</a>
<a href="http://javascript.developpez.com/cours/?page=frameworks#jquery" itemprop="url">Tutoriels</a>
</footer>
</body>
</html> |
Partager