Skip to content

Instantly share code, notes, and snippets.

Created October 5, 2017 12:09
Show Gist options
  • Save anonymous/a09478a0949c9857c8e7c47e887980cf to your computer and use it in GitHub Desktop.
Save anonymous/a09478a0949c9857c8e7c47e887980cf to your computer and use it in GitHub Desktop.
d3 time scale slightly off
license: mit

d3 time axis slightly off

The problem on this diagram is tha the x axis is slightly off. Instead of starting on Tuesday 02 (Di 02) the whole axis is slightly "skewed" to the left, e.g. about 13px. On the very right of the axis you find the same extra 13 px of data for Fr 06, which shouldn't be there:

Why is this?

forked from jhb's block: d3 time scale slightly off

<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<style>
body {
font: 10px sans-serif;
}
body,html, #ct {
height: 100%;
width: 100%;
padding: 0;
margin: 0;
}
#content {
width: 100%;
height: 100%;
padding: 20px;
}
#ct tr {
vertical-align: top;
}
#legend {
width: 20em;
min-width: 20em;
padding: 20px;
}
#chart {
width: 100%;
height: 100%;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.bar { fill: steelblue;
stroke: steelblue;
}
.bar2 { fill: #98bdcb;
stroke: #98bdcb;
}
.count, .usercount {
margin-right: 5px;
}
.count {
background: steelblue;
}
.usercount{
background: #98bdcb;
}
</style>
<script src="http://d3js.org/d3.v3.min.js"> </script>
<script src="tickformat.de.js"> </script>
</head>
<body>
<table id="ct">
<tr>
<td id="legend">
<b>Pro Tag</b><br>
<span class="count">&#160;&#160;&#160;&#160;</span> Anzahl Zugriffe<br>
<span class="usercount">&#160;&#160;&#160;&#160;</span>Unterschiedliche Nutzer<br>
<br><br>
<b>Insgesamt</b><br>
Zugriffe insgesamt: <span id="totalcount"></span> <br>
Davon in den letzten 90 Tagen: <span id="recentcount"></span><br>
</td>
<td id="content">
<svg id="chart"></svg>
</td>
</tr>
</table>
<script type="text/javascript">
function daydiff(sooner, later) {
return Math.round((later-sooner)/(1000*60*60*24));
}
var margin = {top: 5, right: 20, bottom: 20, left: 20};
d3.json("pagecount-total.json",function(error,rawdata) {
// prepare Data
var data = [];
var zoneDate;
var v;
var now = new Date();
var totalcount = 0;
var recentcount = 0;
var count = 0;
for(var key in rawdata) {
var isostring = key.substring(0, 4) + '-' + key.substring(4, 6) + '-' + key.substring(6, 8);
v = rawdata[key];
count = v['count'];
zoneDate = new Date(isostring);
d = new Date(zoneDate.getUTCFullYear(), zoneDate.getUTCMonth(), zoneDate.getUTCDate(), zoneDate.getUTCHours(), zoneDate.getUTCMinutes(), zoneDate.getUTCSeconds());
totalcount += count;
if (daydiff(d,now)<90) recentcount+=count;
data.push({date: d, count: v['count'], usercount: v['usercount']});
}
console.table(data);
console.log('counts',totalcount,recentcount);
d3.select('#totalcount').text(totalcount);
d3.select('#recentcount').text(recentcount);
// set up chart object
var chart = d3.select("#chart");
var width = parseInt(chart.style('width')) - margin.left - margin.right;
var height = parseInt(chart.style('height')) - margin.top - margin.bottom;
// scales and ranges
var x = d3.time.scale().range([0,width]);
var y = d3.scale.linear().range([height,0]);
//var y2 = d3.scale.linear().range([height,0]);
// later on we set the bar width to be the size of one day. Hence the domain needs to be
// a day longer.
var dateextend = d3.extent(data, function(d) { return d.date });
var newstart = new Date();
newstart.setTime( dateextend[0].getTime() - (0 * 86400000) );
var newend = new Date();
newend.setTime( dateextend[1].getTime() + (1 * 86400000) );
console.log('newstart',newstart);
// the domains
x.domain([newstart,newend]);
//x.domain(dateextend);
y.domain([0, d3.max(data, function(d) {return d.count})]);
var numdays = daydiff(dateextend[0],dateextend[1])+1;
console.log('numdays',numdays);
xAxis = d3.svg.axis().scale(x)
.orient("bottom")
//.ticks(Math.max(width/70, 1))
.ticks(5)
.tickFormat(tickFormatDE);
yAxis = d3.svg.axis().scale(y)
.orient("left")
.ticks((Math.max(height/50, 1)))
// set up basic group for bars and axis
var g = chart.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
g.selectAll('.bar')
.data(data)
.enter()
.append('rect')
.attr('class','bar');
g.selectAll('.bar2')
.data(data)
.enter()
.append('rect')
.attr('class','bar2');
g.append("g").attr("class", "axis xaxis");
g.append("g").attr("class", "axis yaxis");
// Draw whenever a resize event occours
d3.select(window).on('resize', draw);
// And do a first draw
draw();
function draw() {
var width = parseInt(chart.style('width')) - margin.left - margin.right;
var height = parseInt(chart.style('height')) - margin.top - margin.bottom;
var barwidth = width/numdays;
if (barwidth == Infinity) barwidth=width;
console.log('width',width,'barwidth',barwidth);
// Update the range of the scale with new width/height
x.range([0, width]);
y.range([height, 0]);
g.selectAll('.bar')
.attr('x',function(d) {return x(d.date)-0*barwidth})
.attr('width',barwidth )
.attr('y',function(d){return y(d.count)})
.attr('height',function(d){return height-y(d.count)});
g.selectAll('.bar2')
.attr('x',function(d) {return x(d.date)-0.0*barwidth})
.attr('width',barwidth )
.attr('y',function(d){return y(d.usercount)})
.attr('height',function(d){return height-y(d.usercount)});
// Update the axis and text with the new scale
chart.select('.xaxis')
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
chart.select('.yaxis')
.attr("transform", "translate("+(-0*barwidth)+",0)")
.call(yAxis);
}
});
</script>
</html>
{"20171002": {"count": 45, "usercount": 1}, "20171004": {"count": 11, "usercount": 1}, "20171005": {"count": 2, "usercount": 1}}
�PNG

IHDR���D bKGD�C� pHYs  ��tIME�

97� 'w IDATx���{|������� ��@P^[�T�Y��Jz���ֳ"X��h��v��t�?�n�8�V�Zk���B�lˮ��,�`���w,�]�x��J*!�b���03��LB3��|<�H2�I`>3��+�ˤ~�맓�G�۷o�ر�@�f@�C��m[ �m����;� �-RI�`z�*C� 0`� �@ �@� 0`� �� �@�L>_���"�J�~�J��>�jCP>~����ܹs�ܞ$���G���;v�����h3mРA1x���Kbݺu �R�݋e��k����>:���H�Rm��655�-����⩧�*��V��F<��7 *0찚h8m���UUUm�7��-[�D}}}lݺu�X����5��#I���#�w?s��8�8�L���dEmn�nڴ)n���3fL�H����?��/�E�p�H�᭭�����Ǽy�
��2��:B�k�
40`� �@� � 0`� �@�@� 0`� �@ �@� 0`� �� �@� p���}-R�T������������hll4H��������s�f�6s��=zt�]�6F��_���jCPv��ӧO�x >���޾x��X�|y���ƌ3bܸq ��.3gΌiӦ�y睗u�ƍ���.""���bÆ  ��.w�yg$I_�җ"""�JE�$1dȐhjj����hjj��C�f�\���fp�hii�$I"I�����&L�9s���͛cΜ91a„��K�L�����P\YfϞ+V��#FĊ+b֬Y�]��{#"�8�X�d�A�G� �@� 0`�`� �@� 0`0`� �@� 00`� �@�  0`� �@�0 ,�O<1jjjb�ر�lٲ��H�RYtN�!(�?�x<��QWW�-�I�&�k��I� �}dp��?~}��QUU}��C��N4hP <8.��X�n���{��H��A��O<{��655�-��S�N���z�`�ʕ$I477ǢE�bʔ)�z���iuuuq�M7E}}}�h�8�@��k��66lذ�I����;wfMߴiS̞=;ƌ�&�s?�/}ހ��L�z�q��ǖ-[��SO� D��=����1~���7o����k���1}��6��4@�p40`� �@� � 0`� �@�@� 0`� �@ �@� 0`� �� �@� p�`��8�����&Ǝ˖-������hhh��FCCC466,\���x��'�7ވ뮻.&M�3gΌѣG�ڵkcԨQq���,�N�6�a����s���ӧO :4""/^˗/���ژ1cF�7�`�ʖJ�""bРA��ODD�ƍ���.""���bÆ 
@W�$I���9-ZS�L�իWǐ!C���)��룩��u�pn4P�s��ĵ�^ۺw���*v��&L�9s���͛cΜ91a„6ќ�1�� �=�e��SO��O?=�l���zj,X� ""fϞ���'cĈ1nܸ���� ��\ӧO��ӧ����#��%K� �}�h0`� �@�  0`� �@� � 0`� �@�@� 0`� �@ �@� 0����SN9%jjjb�ر���OGDD*���@W|/X� �|�͸ꪫbҤI�Ӓ$i�@W�� ƨQ��o߾q�y�EMMM�A������K.�u��,\�֯_'N�;�#"v��}뭷bժUq�1��ԩS @'T��|��8qb|�߈�.�(kZ]]]�t�MQ__�u��Jcp���{��/��s���_�f��M�b���1f̘��3�N�_���ap����+#"�������[�ơ����1~���7o�������]��k8 0`� �@�@� 0`� �@ �@� 0`� �� �@� 0`�`� �@� ��y���SN����;vl<������ 1p��hhh���F� �+;�,Xo��f\u�U1iҤ���9sf�=:֮]�F��믿�`tB�!( .l����΋[n�%""/^˗/���ژ1cF�7�`t�=�ef���1q�ĸ�;""b�ƍQWWuuu�a��� ����˗�ĉ���F\t�E1dȐhjj����hjj��C�f�L*�2p%��L�s�=q���ܹs���/o�}„ 1gΜؼys̙3'&L���sI������y
��ӕW^�z��T*�T*�~��={v�X�"F�+V��Y�f,�Npt�H�$�� �%K� �}d00`� �@� � 0`� �@�@� 0`� �@ �@� 0`� �� �@� �J�!(�T���$I�ޞ; \q�a����k8� 4(�\rI�[�΀��'I�x뭷bժUq�1��ԩS
@'8�B����M7����Y��;d�����6m�ٳgǘ1c�nO�������0�����=�鯓$i����6Ə���3X�r�ҳ+@t �@ �@� 0`�`� �@� 0`0`� �@� 00`� �@� mT ���d����Fư���@�����Ib ��ս��c `�@��J���^*�s�� �@�&�T*������1b��������� @W�$I"��3gΌѣG�ڵkcԨQq���,�N�6Hen��ű|�򨭭�3fĸq�
@'�\�6n�uuuQWW6l0(�`p�2dH455E}}}455�СC���3 @~��� &Ĝ9sb���1gΜ�0aB����Ù�>o�pyʼt�׳gώ+VĈ#bŊ1k�,�� �.��q�GĒ%K �>� 0`� �@�@� 0`��Ն��K �N"I���2:>$�!�ߤR)� � (�"l�l `/+C�8n/����qa�/�]K���N�X���N� ���a,~u7��-,��:��{&��}�oqT
��!`�&F'����,��@�FsG�X��E�M�@ �bA,�{�/z����rcX�����j�J�Wv�0.`��й9$q!E�n]y��$I�~�>��h@@Y�M#9�p���]��Gr{Q�$��O|)�t���PIs�!�tj�p�3TF�a�S�+�����Vr��4~� ߲�]Nw�?�������Å9�u��D ���Ӓ��!�6����H9Gw��-���m��*r��h��Ʊ��[z�v�`qL������Щm��:��b��;?���������} u� |����r�a��u$���u_[(��n�J����o��a_J�������e�5��{/�|W��ŋ)))z;�JP��N��=X�C�6��w6ݢ�^�R�������Dn��%�7�� �*`���� �!Э�[j��B��^W`���o���q�������=� (���"X�5����(7nۛ�J�����󪪪��[ZZ:��)�I�w�.\p 7���r:�1���[�d�l{�2c��
���.z�gќ�÷īC[�c�n.Y�@Ǣ��c:_�f�������y���?<����sΉ;�#F�Q8~ �����II/�.~��dl�@y����Ns,(��.��a{�+@z�occc�z�1mڴ�������)w�o��൐�����:�����5x߮
�|�J�&������VWW7�xc�92����E�� ���:�0��g8�_�l����u��M�=���s��E���شiS�v�mq��gMߵkW�}ҟ��O1��Q�[ |ۉ�v�*v��� X�C��ZZ�C`5P���7�P�*�.�'�W�^Q[[g�uV�w�}y_��3�7������Ə��b ��:8�D��X�pP��C�����%�^�os�2�/��w�-x�|�$I����$����x#�_F)�y.߼X~C�� �]�9$��{����a\/���C����E�r����%��(���_�� b ����b]�#��z���ߓ9�`'��U6�ۑ�������\7N�p�Ro�!�޽�������<^}s�A�"��}�� T�G}4̽0| �mG�7�gӷ��s}����<��>�l9�����XN��s�~N�D�{$��mޔ�N}�,---�.��-�W��7I�����2 �B������_���?��x�����\v���Cz�����M������n�~'/m=d����`�������~L��X�臢Ou/� �s�
��O�S{�d�����y[��mi���t������J��B{�scx��7��v���b��oz{�����/W�ׯ����.w���qxQ�!���C~<��#J=����8G��@[^yGy��.\hp�s�+>� b����
t��mg"��m�#��䶕C�P�v�U�w_�j�� ~�B|���@Cw�]]�j��c�� P�J���}*�h8M��4|�A{��)�;z��C� ����WR;'8k�h�S��x�ν��߮w��K[�νze=�R,��k�JE\p��l�q�*q:]�Ͼ�>�&��zK��_cN�'�������F�?sJ�R��'��K~�����ȸ���Z��1������G�� /n����S�ɗ��R�x{>�ǖ����_��c�;��ҙ;�'�>вl?�W�_�[��Wּ<�R<��権��K���8�#��� ��O�Tp����7'��?jj��������Դ#:�{~KDD�����+�uu}+���Ӆ�)��]'�Q�o�婧^����V��?ߺ�?cذ���Y�t��O���~�8������-���/���}.���G�}.������q��G����s��?Fݰ���G_^8"F�|X��R����ŷ�Z7|�������=��c���/e/�r�{� �-��Ӻ%�����q�m��.;6�x��ѼcW<���Z8w����W�ϗ�� '�[^u�ܷ�y�g�⭷v\^Yt�o߽*F�|X\�������Ʒ�^_�ژ�}>]��[���s�S���~�~�/=6������b��Ʋe�K���˗�#���+��u|��_��[�v�DD���]K�~=���X�z|��՞�����������}z���������s�o.�\�������3���K/=6�����}��K���17~��8��C���:����pD�~aK�����z���=V<�f\t��<˲����e�n���������E���1dp���ϟ\p�-���]��x��W���1���y啷�⋏���ꨩ�����Q��+oW��!��<�K����t�u��q����q�k�m+yz>+W��������c��׷�?=�6""�N9>�-k���nCDD��M��Ӎ�+����|+�>z@;�������w��9��;[��'_�SN>����|t�>�b\���F�ީ�˲���e�}�_��鿌/�����'_����xw�[(����7�W|��O_����{�����
����~�cЯ㤓���c�q��9}p<������nl߾+}lM�9}p�?�>@Q[�m�ҟ������G�$I��wߍ�ww���a�����o�,Կ�:���-yz>S�xo>�Ϟ�}O�6�?�~�訮��k����g�ϯl���vC|��1ѫ��Zr�����������F~.�WGs��55{���dO�s��r��wӘ����ѵ�]�Vl��N�?���,s��bYFa�ßw�j�5k�ż�M��O����-�e�;�������_�~�B\}Չyǻ��:�wX^u��$��]�kƨ��+��5u��q���ď�爈:�o��ϕ�|���;�W�T��E�C߾�b[�L�m���ׯW�����Æ��7��{�Km�!q���??�&�G�
��Wm�[��2�������y.��~4}�������������~��h�`x|w��%���k���c�'�/xё���e������;4�p�I�4���X�P|]~Ŕ�����c����+�����Qp��o���Z^u���nC9�&��]^Yt����s1~����?���b��aq������C���M���~3bD�x�ŭ�߿���9����ilڑ�u�a?��y;~�����u�≟����͞� ��mS���U��N��N�-Ṫɚ��K{���3�Ϋ��+.�pd���%���k�Y�v�t�31q��ֽ�WZ��X�с�vU*z����u �}Ԁ������;ޖW��??�&��G�������{~K|,�������)�������w��� �Ç���� _� ��<=�������}�_�a��ލ��^_���q҉�ѫ*⎿�c�����!����c?[?�٫��}�6-��\<�r\�?ߓ5}�—[v�—�=W�����U�::� ��6�W<���89������ѵr��:q�Ҭ�rǻ+�ev�]����q����iG�7ou�9nh��[(�s����_h=}�_���C
��…/��OgyՍ��Û��^��]�[�?�3 ytM|���P|䱵q�1*��H%���-J��s�i��N�������n,�� q��L�G�������_c>�b<���W�����1����i/��IDATj,6=߿5y�q���k��w�8��a1u��Q]]w�8�}�����y�g�b��mq��`�<�u�Ύ�}z�y.>��q�����C/�S�X��:2&M�������?]�J�����xH�>��t�q1`@uI����^��;�'�>p��e�> �'�:�.>�[�w����=��?���}1��6fpL�����sǻ����3'E�޽,���M����E#��18϶��������o��X�z�^�NӦ�Æ����c����@�k��o���,�+;⊽7$]�wuU ��g �uo��0R�J���}�O����Ҥ�9�e&�Ju�Pf�=��9�=4��ZI$�mǮ�٫�`@}zW���̢��#� ] ���oO9,���Q ���<���/�p�?��s9=��|�qx�?�{><����xbQCYp*�rt%�2��=$~E1�>��8�JEG� ���ǔ��<��@>�������<��@>�+����8<���փ� ��+��l�/��Q���� j����p�߬�8:}�B����~��҇���~�w0��r��������z������-�v}e�~�<T��^��m{,I��Pt���5==�~��'I���ﶖ����hiii�x�W��-�\��鉀<�R�|h_yl��l����*�%�[ϐW�޽b`�C���7����4������0N�R��e�'��T*-��x��W� ���H��ݱܒDI$--{c��e��;#�[��d��wߐ���"��T(�;��� t~�$v�q��S ����i� E�#6O0�9���uH|����P��V�sf�d~��W�^QUU�TJWJ� ���m�:�/��HR���T���HE*�'DwI�ų'�S�T$�ߓ$������ߵ'�SIf��n��f�}Yj�R�s��R����d���U��nϷ)��EO�,0-7t M��^wc��]h&��=�?W,�s�/N�~F���$�=�j]p'��L�p��92_�{��FN�+�T�������J�̟.E�`�َ*8�*UUU�
���q��MK������#�P����=:�U��s�N��G8U-m��ID���N
-�[�9iS�IN����5GJ�= �܅3�w�(`�`!�A���b�ZUr��A�B�P�f�n���/�pDn:`;Å~v��ٿ�օt��r#U��穂$I�������wڄvV���� �5� `(�^�lʘM��!��G:st�s�ӷ��gN� b\� y��-�8�9�Je�(�����Hv� ܺ�w��ߜK:d�o�m�Dn��v�c����9�Px���!�Pz��N+u'Cg�� �B���c8wo�>�/����655ŧ>������8�3��{C������H������nj�a�I:����͊ٮ^AKY����l؀D�B����!��*t�+E�;O�U�+�����|%F�=�P|��_�n�!���!+���E$�>緪H����Me��Qv ���� n�vn�o����`�;歪����@6���C���|\j�� �b�B�+\��t �2��|�dɒ��o~���q�u�����[�u᫬�̾V*���{��$���C���ER:���w��������'�n
`�Px�(T���Ju�U�sC�PgF��@W��7F]]]�R������7�?�9�/�`�'~�TDҲ�"�ɞ�M2.��7��\ z��#�.���k���y�/h{t9��.ITU���B/UU�����d�u$�%�w3?UU�fk_����b��졂I�H� $)����:*~���������W_���:+^~��������`ea͚5���R8��.��m�*�\��ַ�n�;�#.������;"I��`N=`��ؼysDD����NkiiɊ�$�-��M+���0bĈX�n����G���µ���K��k���B�9-�m��\Fr�N�<k֬�2eJ}��q�gļy�ڼRf,�>�I��\���3��}����ogⴣ?�j����]0�y�s�(u�����B�?�o+vEh\�Q<lذX�xq��� �B��ݖ���'=���BqZ��ZJ�v՞[{����0�@���m�{�K ���Sh�o��E�|��Xt�� νOn���N�L�E��E��F�=�t'���G�<珮�#S�{���p�(vp�t��.�HGpf���b�U�����ݯ���(�������=��Dp��m��U��b�_������Ҝ�u��J��u��etElw��v�X�o����6soo�}��*���2���� �����^%:�{\��\(|;�^2�o����o��G�98�v����'��q�����G���2�Ͻ��i>|t棶�6jkk���.Ǝ��~{��˷l���g6l���ǣ��>>��dž "�JŢE����q�q��Ư�kc�����ʺ�������N�#�ٳgg�>zں���B�I�w�?���J�OJ}-�'�$�o��1f̘4hP��m�B���?�����\�������8 �C=4�n���ͱr�ʘ1cF|���뮻���\}��1hР�9sf̚5+6m����w��+��n�!��<�H|��_�իWd*z��˿��X�xq�R�x�w�sΉ�+W�֭[;<�DD<��3q饗������i�R��2���<��|'�Ν��w_�v�i��~���3��)vt�Dp���Ԯ|�x��π����n���g���S��3�<�wzD�{���X�lY ><^{��8��s�O�S���;wƿ�˿ĬY��w���A����~��q���G>�����^�o~��EG�;v�9���v[\x�m~zʺc�ʕq�5�ĪU���O���;N>���DmmmTUU��g���v[���t*~>�\�|��ߏ��z��yb̘1q��7��_�_Bw_WѷG��������x)x��O���c۶m��o߾=�:�ظqc��� �����ݻw���;QWW׺�߿DDv�a�hѢ8�3 2=�\�2�M�K�.�3�<3~�� '��:_td�ۿ��9rd|� _��s�S�g�}vL�<9��⊘?~��G?�e˖��.��ذaC�~������O<aЩ��$Ӷmۢ��q�=��ĉۼ�o�y�����S��<Gyd|�ߌ &��.��(��H��e��o��3o+�����owD��ޣ��� /�#G�,��n���7����c�ƍ1dȐ��l߾=����G�O�ӱr�JLE;�����#��/}�Kq� 'Ĉ#�����#w�}w$I3g�l�8ھ}�A�ǭ;V�ZӦM�~���ԩS��o�к$"���.��կ�{���0T�|���'Fuu�,4O~���}(n�����W_}u���t��l�V,�;s�B�����{b8q�+Oh�b���c������>�L�R���~�y睱e˖���;���Ϗ��/�˱q��� "�ܹ���#|�_��s���>����_hٶm[l߾�u�H��S�'�tR<�������Ϗ�N:���$m���q����i��f��Q��o�y���!�bS9��[��i�!���s�K9dz�Ց�ѯ_���8�C��c��ɓ'nj3Z��ׯ_477g�LcccL�6-����=Ǝ��{o 6,�͛7�|slݺ5F��gώq��d*z��}���ޑy��� =aݱbŊ���>�V���N:)������ѣK�Oҿ���6�<���ַ��s�A�G�C�-� �6l��|�3�_�*F���~{|��ܧ�۾����`\�\���b�u�՞�t����8.����Wxw$n;�B��0.vzh�=�=2�;s���^n Z������������
P��n ����yj����X�c�GEn1� AL�FJ��IEND�B`�
�PNG

IHDR�mn�6bKGD�C� pHYs  ��tIME�
 ;���IDATx���{xT���ߙ$���$n�@��ViYXA\�Z�i ���7�k����OA��*��U.
(��r�j����g��Ԃ����T�I��9�G2���sΜ��$3���y�Lf������{~���4MS�(�o�BSǞ� ?YKa��~gu�S7��0�>��B�����Ґ�]( M�(0`��H�l����YH�]�w�h�x�I��0��@H$._6�� ��V���т1�� ���0�`~ ��p#�_�� &|�Ma0�܍6Y3��@� �~]_I�C��K�-�� ��!-1��")�� �.�� ͱcp���M!�Ȱ`�� ��� ��r.��a0�7��4�t�+�� L�v �b2�"�l�� �4͈�#���G����71���{�3~�!����-��I�� �%���?H��CT �����@zd#�0L����K� ���`���5��l�%�#��o��] ���D�h�9AUkap��_�2S�"�A�X�H*��������o���� =2P������{���`�12�6q�@[�u,f҇-�-�Z�c�@Ln��7���k��.���W\��N�8&c QᵹY��Mΰ�k��{ �p�x��2� ���l74�M�L����M����;��{�����+r�@R8�{ ��� ��뙎��L�����7s��r�f ���|�� �i~�_�kFń���o��w: �v�@���� HLЍ�Y�m�e�a0�N�>�/��@ ���~��w̄.�5���i �^�:�^�f�- Ì����k7�M�~���١i�� ��K�!@l�5�a�.����2��m��F�ܹ�|>�ƌ��{L=z�p������ mzڡ�����H펈2\�Ә H�0���aF��@p����z��5}�t��w�s��_3��K#��˿���A�C�XjM ��MT0��+�8�w�ಢ�"͞=[={��X7;;۵�������ccN�4�p�m;O��Z��q����n�DN����Ú?������.�N����п��y�o��5Xi{��� @�w\Ї-���®�2�`l7+48�7|VV�$���k�ȑZ�d��`} ���E�n8��:��L��hρ�G@��A���S���o��d����k��b�nN�>���]�5M3�>�N�״�+8�A|3���svu�7C���~"�7�S��� �n#��4رL�*ۭ�8)�uYsO�����/ ������2�G�>H�X��u�ő�}—9�`���R&��������W�_���/S���)`�FN�OE�<
����j
p9��!W��}��֬Y#jo+_�`k���m����G_Z�#�<:=�N�ȣ[�1�v�G���4Mp��d/��M����@�k�S5�z���.�����`�k�S4�:=w� ����
͹�r�y����׭���z��V֛2�=��땖��2�z��Vֻ���n��9������K�>;�v��X/ �{��Wn���%�Z�o�kv�7��?�Q ��t �N#��0\`� ��S�[!̺\�����g��z���y::�y=%���爅�S�S��S~�|�Xx=�����?��S�i��|�����Z���t ̎3>�b�� �@�H��';�V�)_�f+N�n�Л�Y��'�j�����o�:#N��!'ۧb���j
p�3 u��>�O�ڢҲ�Z�b#���c]�z*��k@�2�8�±�5�� ��$O1�B�5!��:���7����߭�W��V�ܮ���J�!�W�ɥ}ex\���Ӧ��f�.}QqT�6��ʮ���9���K{��!��i����;��U7M��7��������ջ�u�Qf��쬲�}u�����f{$��c�������v"b�Nkyڑ������������u\�Wn��Q~~�&��l�Әn��}���y�@��C{�<�eM�G~~���"��Vp�� -YV�-��$ 8����z���r�z{��8L;]SLN��A��������rH�~�-Iң��U���t��n��#q^}����� ���'Z��-zj�����m��…[�Ά�7������l��TTܸ�Y�n�&N���ΐ�3��=zb�fͺ���f{$ǯ^�R��/�ʗ�G�e��{֧�e-ԷءoiY_�������k'��3��D�V��=������m�;��k�%�i���z �uo�ѡC'�+���zb�f t�f�Z���o����6�����ۃS�S4��/غ��퐐|�?��I}T�5OE]�T:��6l��y�����k��]�iƇ����ܒ
��$I�.�����E���}zvqB�}���!���>K;�躲~����m�>zoþ���5iRu�UQ�\M����}� ��L��g+/7K�O졊�G=�7�#��~U�?o�Zߝ�Ӧ-�,��eH���^~e�����.U���l��%W?�m�cy�^���:So��W���G+ٹ󸮼���󳕟���]�K;wO��AN� ��5�ב\{�T�o���}�v��=՞��)/?�y?�@ϻP����׫wK��M� ��O*%I}|P�w@�O=� a���w��(ۢ&by�����Y�#~'N��{��Agx.o�G�=�|�&���rr ۶,��і�ݍ7�i�������{�Ǔѷ���8�#G��[n�H7���=�E55u��M{Ղ_}p@��Ν����aC�h��ݪ�=���:�Y�KÆvI���)Эj�n{|�ѵ��Q��4M�>}Z��uvK؟8����*T�����Ӟ�ۙ6�\u�Ծ!������}�������_4H�ب/w��W��9Ô��E-V_�<��T����|�mQ���ں��������#�#>�k���v���<�7�#�6�ұ��4jD�c[^މh��,x�s]]@�vUk��[u��VSxN��8;z�����s/�$-YV���oՌ�ؖw~~�jO�^%[�4�v�.��݃]�+���6��f�٨�_�R�Եkn���t��N�b81_)N(j ��Y����5u�����Nqä�T\����n����o���7�wi„�&B��6�Ï����E�7��u� ;���͊�ƿ�&r9��Ҋ�Z��hM_�����sy�=���i��9N:b-�D�e�.;ۧ�};����>��d�-p�˧N9G;�c�]?�\����ͱ�kjꔗK{�l�|R�n%��^���^�$�S?ߢQ�����i�//ҨQ�Z������ ��ܵ�=
�}۱���ۏ�g����8x"����~v�:�w7��]w��o����l�0}|P �ܬ�����{�V�˷mo\�Ͳ�����ĉ=��c�˛�X�v�s6��l}hT>|�Uky'�-C ���PN�/�} ���U1{�� =ky�^��߬٥�]���؋���l�����\��G�~{�H���X��%�����X/�ڡ��<I�K�v�KJ</��셭���B�_4�X�t�淋p�f�~� �W�Oz�g��'�5L������7v�7��?����b�m�����D,_�jG�oW�ڡ� 3|"vO>�YW}�����t��ߵf�n
�8Zy�=�:�ji���׬坈� �_�W]}Uou;+O�В����I�[�l̘b-{ak����o�?|�L��^�j�J��K{�D���ڷ��y�;����-�� �z�.]��� W�ݭ>g���0LfPJ
/39�-s�8������ӧOkՇ[�ЏJ�������v�FSҊ���w�g�?�D�N��W��r���ھZ�n�N�65rD��M��l�=�E�먋��� g�{�kw�f4f�SSK����YM��e��п�y�+�����o�V�tm)� ��'�ԫ���W�j���NC�uֵ����0�Sy�=�����=`h�f�e�^?�ti��#�t�U�C����[ݯ^�Ro��~2��Eӧ��n�Z��w��*7'��*I�ɟt�w{�ou�9���hI���j��
UTԏ����Qӧ�WqqnZn�Ҳ�z��������-�?��;Ĺ�����S�?��l��3
N|��.۫}6g_�&��8��ө̜� �p p��h$�)S�'�t2+@a6���R� p��V�g�;M��i�7SN ��9��sf��([�w�]����z-'���A=�s�9�_��|>���x�� )� ���t���~ �@nS��0 �r/��Ǥ�z|>Gk~�Ҳ�)����њ��������s�9����S �&b�gF~��Qa9��jhk���!�7"��<e���X�-�<e���X�-�G��z��z��z�x|EN����u _1����S��F�E��y�4M��H�h�\n]/��i�?v�IR ���`��9Y���Ɇl� C]:�R��ʣ������)��g�V��,u�k����e˖)�͔Z�#��`lF��u������޽{u����i��r��)Sf �����;,`��m�~����_����������ԉS�u��Aa6^���4��k?�� ��/�RvV;]u��1��eN���'�w����,I���a�t �v��~C�+�#H2��i��2d A������!�!3�>�)�hx��{5p� O����t�rb*МV�0L���j�Ϡ��f�� ]`�n׃x�����N�e֠�������ڴ�4�z��s ��닍��Pj���̆�k�n3�1�A��V���0�+K �K���g�u��X���ɤq�� ��r��g�����c �v�6(8�k�#���!�)����W '�a#†OR�I nJ2F�M��=���&iִ$[��{���4���@��  #�a��~Bn���9G�ANA�)������.�S �l,a��o�7lx�5B��Y�re�W?l�
Lӌ� ���4 ����y��HV�#���C� ��}��~$�S�ݮ�_� �)|b{}��(p��0��������|2�����Z�t ��y �v�Ƌs�����5��s���!� x��e^������ �a�h0��w�h#����_�?��>|�/^��]���`E|3bF����ưkԟfl�p���a6��@���� �s`PAȾ�k��
t��B��mw�0�@���u�}�i���Z�r�|�A͚5K?���#�s�oD�w��5�>����k���(2 7 �nYs�ټ�\���d�-��@$���\ ���`���.��
�4*�tJt0�S(��Ƿ�~[}���~���N�5*�~��W�3r,#z 5�e� ,O�n�ER0�F�������yt`F"���A>�|��)�7>#��@[��S0���F���TTT$�0TTT���*�Ӟ-�|w@�!���d�'�6¯6IVcpn� ���H�V�Ix � p��9�Ќ�Տ]L�|#������DZ=� `6�#A-l� ���1Vsf��{�6!Vxr�1MI�� ���z�������ݻW#G�Ԏ;B����R�R®]��
�^���N�`q�44~�x=�裚5k�{�1�?>b8q�L� ���:r�$)�����mZnq��)���@�=�g�
�~���[p�޽{Bϲ�v�S_~[$�N!�k���7ϝ;WS�LQ�޽5|�p-]��ɭ��âu��f��������?8��O8��o��v�~�~� 5����漇������f�&�x(...�[o��$D�f� ��@ ���F��©���%�&j�`p�P?��:�#Z��:�%G[�i��i�hF�[9ܺ�N�H�ukv��� ��$Zv���!��[$X��:�f�H�L^G��°](��4�N�v�!�!8<�څi�Ӫ�bFn�������W?��G�#�^B�]� =g���V�n�'��fwJ��w�׼��b�Uح$"l�r]q�{�S7{ �N�6|�7|�d��݈�H������:Kt�sp��d�`��Kf�AK�����z��۱\�:���Fw;>��v����
n}��2~������������H^x�,X1{�ѣG��Mee����ju��]W_}�*++e�^{�5]p�:묳4v�X}�ᇔ1?i_?~��_G��p�B�����H�g޼y��?��wx�q�'���P���{=�/;� �4��Ohذa�ԩS��E�Y�i]���pjI�H��)��������:�رc���Uyy���n]s�5���;�fƌ�ԩ���^͝;W��SO=��n�I�f�R׮]�z�j������������;����z�-��S�Ni̘1*//ױc�b�#��q�FM�4I���w} ����$��@�ԓ�։'�|R�<�,Y�!C�$�~����h#Ŝ���9!��1����]�� v
u�����M�6iڴiڸq��rI:��s�a����諯��رc��_���<yR���o5w�\}��'2Һ~�r�-;v�.��r��� ںu�y�P�����8qBcƌ����5q��&dJ�Q^^��3gj���4h�-Z�A�y�'��������|=z��ϟ��ݻS�H�zޯ<��:t萧:1l�0͙3GW^ye��澗�������������`���@��ա�555�ի����l�KR�N�t��A����ԩS***
5���3�8C�����N!#��Gyy��O�����kĈz�WԿ�P�������?VϞ=u������)}��ѣUVV��S�jٲez���a��}�$UVVj��ڴi�^�u
iYO�UWW���@���/TZZ�便Nu�s�Κ6m��/_�nݺ�G�%�\�����tk$������k�<�5�{�z��o2B+�ރ�}c�֭�ٳ��}ݺt颪�*������Jg�yfh������j��պ�T^^N#����Oݺu�]wݥ����G���[Y�h�L�Խ��:8������q}��͛5}�t���iڴi�={vL}�$�����9��1 Җ]_ZZ���QЩNt��Y�^z�z�!���;�1c��m�֪u>��$XiРdz�ӄX�7�'�Å㉼�pS[[�O?�T��v��L���q������ѣz���5n�8I�=�ܣ���Є'O��`���=��3���[=��TG���USS: "�"S���j��媭�ղe�4p�@��$�ȑ#Z�`�� BA#�؅_�:1a„�ɦb�8�Y��2� �)Щ��5�^N�n�[�[!yyy��v�کO�>*++��w�:-'//O���s��M�>]��u�j���*..�ҥK5g�;vL�ּy���o�BFZ���o}=�:�彁L�;���?��[o��͛5p�@=���:���=Փ�{��~�1B�>���>�l
ч���Nu���R7�x�>�����S ,��_ܬ�[s�� &�ov�����D��̮ �b �^g�f8�p,�6��L�������P��� ���R��� ���{ۆap� ��Rv����bp��x6-��L �`B0�@F�\7� aGbx*:IEND�B`�
var localeFormatter = d3.locale({
"decimal": ",",
"thousands": ".",
"grouping": [3],
"currency": ["€", ""],
"dateTime": "%a %b %e %X %Y",
"date": "%d.%m.%Y",
"time": "%H:%M:%S",
"periods": ["AM", "PM"],
"days": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
"shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
"months": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
"shortMonths": ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
})
var tickFormatDE = localeFormatter.timeFormat.multi([
["%H:%M", function(d) { return d.getMinutes(); }],
["%H:%M", function(d) { return d.getHours(); }],
["%a %d", function(d) { return d.getDay() && d.getDate() != 1; }],
["%d. %b", function(d) { return d.getDate() != 1; }],
["%B", function(d) { return d.getMonth(); }],
["%Y", function() { return true; }]
]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment