Last active
June 6, 2016 09:44
-
-
Save fidelthomet/9450f52e089e17615b6c8987d968b701 to your computer and use it in GitHub Desktop.
sszvis embedd test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Jahr | Herkunft | Anzahl | |
---|---|---|---|
1901 | Schweizerinnen und Schweizer | 108291 | |
1901 | Ausländerinnen und Ausländer | 42010 | |
1902 | Schweizerinnen und Schweizer | 110707 | |
1902 | Ausländerinnen und Ausländer | 43034 | |
1903 | Schweizerinnen und Schweizer | 112915 | |
1903 | Ausländerinnen und Ausländer | 45804 | |
1904 | Schweizerinnen und Schweizer | 115612 | |
1904 | Ausländerinnen und Ausländer | 48448 | |
1905 | Schweizerinnen und Schweizer | 117236 | |
1905 | Ausländerinnen und Ausländer | 51641 | |
1906 | Schweizerinnen und Schweizer | 118600 | |
1906 | Ausländerinnen und Ausländer | 54683 | |
1907 | Schweizerinnen und Schweizer | 120861 | |
1907 | Ausländerinnen und Ausländer | 57038 | |
1908 | Schweizerinnen und Schweizer | 122662 | |
1908 | Ausländerinnen und Ausländer | 58060 | |
1909 | Schweizerinnen und Schweizer | 125001 | |
1909 | Ausländerinnen und Ausländer | 60040 | |
1910 | Schweizerinnen und Schweizer | 126470 | |
1910 | Ausländerinnen und Ausländer | 63622 | |
1911 | Schweizerinnen und Schweizer | 129396 | |
1911 | Ausländerinnen und Ausländer | 66129 | |
1912 | Schweizerinnen und Schweizer | 131976 | |
1912 | Ausländerinnen und Ausländer | 68486 | |
1913 | Schweizerinnen und Schweizer | 133654 | |
1913 | Ausländerinnen und Ausländer | 66978 | |
1914 | Schweizerinnen und Schweizer | 136982 | |
1914 | Ausländerinnen und Ausländer | 58885 | |
1915 | Schweizerinnen und Schweizer | 142516 | |
1915 | Ausländerinnen und Ausländer | 57210 | |
1916 | Schweizerinnen und Schweizer | 148783 | |
1916 | Ausländerinnen und Ausländer | 57290 | |
1917 | Schweizerinnen und Schweizer | 156816 | |
1917 | Ausländerinnen und Ausländer | 56377 | |
1918 | Schweizerinnen und Schweizer | 159503 | |
1918 | Ausländerinnen und Ausländer | 51918 | |
1919 | Schweizerinnen und Schweizer | 161710 | |
1919 | Ausländerinnen und Ausländer | 48441 | |
1920 | Schweizerinnen und Schweizer | 161303 | |
1920 | Ausländerinnen und Ausländer | 44996 | |
1921 | Schweizerinnen und Schweizer | 161330 | |
1921 | Ausländerinnen und Ausländer | 39912 | |
1922 | Schweizerinnen und Schweizer | 161775 | |
1922 | Ausländerinnen und Ausländer | 38514 | |
1923 | Schweizerinnen und Schweizer | 164666 | |
1923 | Ausländerinnen und Ausländer | 39383 | |
1924 | Schweizerinnen und Schweizer | 168910 | |
1924 | Ausländerinnen und Ausländer | 37809 | |
1925 | Schweizerinnen und Schweizer | 172892 | |
1925 | Ausländerinnen und Ausländer | 36435 | |
1926 | Schweizerinnen und Schweizer | 178686 | |
1926 | Ausländerinnen und Ausländer | 36273 | |
1927 | Schweizerinnen und Schweizer | 184773 | |
1927 | Ausländerinnen und Ausländer | 35840 | |
1928 | Schweizerinnen und Schweizer | 194573 | |
1928 | Ausländerinnen und Ausländer | 35903 | |
1929 | Schweizerinnen und Schweizer | 203263 | |
1929 | Ausländerinnen und Ausländer | 36939 | |
1930 | Schweizerinnen und Schweizer | 211211 | |
1930 | Ausländerinnen und Ausländer | 37856 | |
1931 | Schweizerinnen und Schweizer | 219833 | |
1931 | Ausländerinnen und Ausländer | 37645 | |
1932 | Schweizerinnen und Schweizer | 225226 | |
1932 | Ausländerinnen und Ausländer | 35468 | |
1933 | Schweizerinnen und Schweizer | 230254 | |
1933 | Ausländerinnen und Ausländer | 33789 | |
1934 | Schweizerinnen und Schweizer | 278698 | |
1934 | Ausländerinnen und Ausländer | 37166 | |
1935 | Schweizerinnen und Schweizer | 281847 | |
1935 | Ausländerinnen und Ausländer | 35310 | |
1936 | Schweizerinnen und Schweizer | 284560 | |
1936 | Ausländerinnen und Ausländer | 33152 | |
1937 | Schweizerinnen und Schweizer | 287233 | |
1937 | Ausländerinnen und Ausländer | 31693 | |
1938 | Schweizerinnen und Schweizer | 293435 | |
1938 | Ausländerinnen und Ausländer | 33544 | |
1939 | Schweizerinnen und Schweizer | 302050 | |
1939 | Ausländerinnen und Ausländer | 31934 | |
1940 | Schweizerinnen und Schweizer | 305417 | |
1940 | Ausländerinnen und Ausländer | 28609 | |
1941 | Schweizerinnen und Schweizer | 309932 | |
1941 | Ausländerinnen und Ausländer | 26599 | |
1942 | Schweizerinnen und Schweizer | 314417 | |
1942 | Ausländerinnen und Ausländer | 25304 | |
1943 | Schweizerinnen und Schweizer | 320742 | |
1943 | Ausländerinnen und Ausländer | 25077 | |
1944 | Schweizerinnen und Schweizer | 326538 | |
1944 | Ausländerinnen und Ausländer | 25141 | |
1945 | Schweizerinnen und Schweizer | 333075 | |
1945 | Ausländerinnen und Ausländer | 24306 | |
1946 | Schweizerinnen und Schweizer | 340227 | |
1946 | Ausländerinnen und Ausländer | 26944 | |
1947 | Schweizerinnen und Schweizer | 344894 | |
1947 | Ausländerinnen und Ausländer | 32193 | |
1948 | Schweizerinnen und Schweizer | 349134 | |
1948 | Ausländerinnen und Ausländer | 34434 | |
1949 | Schweizerinnen und Schweizer | 353527 | |
1949 | Ausländerinnen und Ausländer | 32476 | |
1950 | Schweizerinnen und Schweizer | 357874 | |
1950 | Ausländerinnen und Ausländer | 31699 | |
1951 | Schweizerinnen und Schweizer | 362108 | |
1951 | Ausländerinnen und Ausländer | 34152 | |
1952 | Schweizerinnen und Schweizer | 367864 | |
1952 | Ausländerinnen und Ausländer | 35761 | |
1953 | Schweizerinnen und Schweizer | 372651 | |
1953 | Ausländerinnen und Ausländer | 35893 | |
1954 | Schweizerinnen und Schweizer | 378012 | |
1954 | Ausländerinnen und Ausländer | 35032 | |
1955 | Schweizerinnen und Schweizer | 380692 | |
1955 | Ausländerinnen und Ausländer | 36659 | |
1956 | Schweizerinnen und Schweizer | 380795 | |
1956 | Ausländerinnen und Ausländer | 39694 | |
1957 | Schweizerinnen und Schweizer | 381861 | |
1957 | Ausländerinnen und Ausländer | 44488 | |
1958 | Schweizerinnen und Schweizer | 384762 | |
1958 | Ausländerinnen und Ausländer | 46480 | |
1959 | Schweizerinnen und Schweizer | 386147 | |
1959 | Ausländerinnen und Ausländer | 47933 | |
1960 | Schweizerinnen und Schweizer | 384482 | |
1960 | Ausländerinnen und Ausländer | 52791 | |
1961 | Schweizerinnen und Schweizer | 380209 | |
1961 | Ausländerinnen und Ausländer | 59113 | |
1962 | Schweizerinnen und Schweizer | 376285 | |
1962 | Ausländerinnen und Ausländer | 63895 | |
1963 | Schweizerinnen und Schweizer | 372123 | |
1963 | Ausländerinnen und Ausländer | 66967 | |
1964 | Schweizerinnen und Schweizer | 368819 | |
1964 | Ausländerinnen und Ausländer | 68811 | |
1965 | Schweizerinnen und Schweizer | 366623 | |
1965 | Ausländerinnen und Ausländer | 67242 | |
1966 | Schweizerinnen und Schweizer | 364187 | |
1966 | Ausländerinnen und Ausländer | 67346 | |
1967 | Schweizerinnen und Schweizer | 361065 | |
1967 | Ausländerinnen und Ausländer | 69529 | |
1968 | Schweizerinnen und Schweizer | 357420 | |
1968 | Ausländerinnen und Ausländer | 72735 | |
1969 | Schweizerinnen und Schweizer | 353643 | |
1969 | Ausländerinnen und Ausländer | 71474 | |
1970 | Schweizerinnen und Schweizer | 348028 | |
1970 | Ausländerinnen und Ausländer | 69944 | |
1971 | Schweizerinnen und Schweizer | 342244 | |
1971 | Ausländerinnen und Ausländer | 69925 | |
1972 | Schweizerinnen und Schweizer | 335608 | |
1972 | Ausländerinnen und Ausländer | 72039 | |
1973 | Schweizerinnen und Schweizer | 327961 | |
1973 | Ausländerinnen und Ausländer | 73616 | |
1974 | Schweizerinnen und Schweizer | 322198 | |
1974 | Ausländerinnen und Ausländer | 74063 | |
1975 | Schweizerinnen und Schweizer | 319071 | |
1975 | Ausländerinnen und Ausländer | 70542 | |
1976 | Schweizerinnen und Schweizer | 315487 | |
1976 | Ausländerinnen und Ausländer | 67512 | |
1977 | Schweizerinnen und Schweizer | 313131 | |
1977 | Ausländerinnen und Ausländer | 66504 | |
1978 | Schweizerinnen und Schweizer | 309766 | |
1978 | Ausländerinnen und Ausländer | 66681 | |
1979 | Schweizerinnen und Schweizer | 306376 | |
1979 | Ausländerinnen und Ausländer | 67845 | |
1980 | Schweizerinnen und Schweizer | 303662 | |
1980 | Ausländerinnen und Ausländer | 66956 | |
1981 | Schweizerinnen und Schweizer | 299384 | |
1981 | Ausländerinnen und Ausländer | 68787 | |
1982 | Schweizerinnen und Schweizer | 294956 | |
1982 | Ausländerinnen und Ausländer | 71384 | |
1983 | Schweizerinnen und Schweizer | 290990 | |
1983 | Ausländerinnen und Ausländer | 72662 | |
1984 | Schweizerinnen und Schweizer | 289085 | |
1984 | Ausländerinnen und Ausländer | 72408 | |
1985 | Schweizerinnen und Schweizer | 286372 | |
1985 | Ausländerinnen und Ausländer | 72712 | |
1986 | Schweizerinnen und Schweizer | 284831 | |
1986 | Ausländerinnen und Ausländer | 74042 | |
1987 | Schweizerinnen und Schweizer | 281991 | |
1987 | Ausländerinnen und Ausländer | 76051 | |
1988 | Schweizerinnen und Schweizer | 279120 | |
1988 | Ausländerinnen und Ausländer | 78240 | |
1989 | Schweizerinnen und Schweizer | 275221 | |
1989 | Ausländerinnen und Ausländer | 80680 | |
1990 | Schweizerinnen und Schweizer | 271579 | |
1990 | Ausländerinnen und Ausländer | 84773 | |
1991 | Schweizerinnen und Schweizer | 269610 | |
1991 | Ausländerinnen und Ausländer | 91265 | |
1992 | Schweizerinnen und Schweizer | 267985 | |
1992 | Ausländerinnen und Ausländer | 93503 | |
1993 | Schweizerinnen und Schweizer | 264041 | |
1993 | Ausländerinnen und Ausländer | 96857 | |
1994 | Schweizerinnen und Schweizer | 261550 | |
1994 | Ausländerinnen und Ausländer | 99298 | |
1995 | Schweizerinnen und Schweizer | 259361 | |
1995 | Ausländerinnen und Ausländer | 101465 | |
1996 | Schweizerinnen und Schweizer | 257600 | |
1996 | Ausländerinnen und Ausländer | 102048 | |
1997 | Schweizerinnen und Schweizer | 256039 | |
1997 | Ausländerinnen und Ausländer | 102555 | |
1998 | Schweizerinnen und Schweizer | 255523 | |
1998 | Ausländerinnen und Ausländer | 103550 | |
1999 | Schweizerinnen und Schweizer | 255185 | |
1999 | Ausländerinnen und Ausländer | 105519 | |
2000 | Schweizerinnen und Schweizer | 255576 | |
2000 | Ausländerinnen und Ausländer | 105404 | |
2001 | Schweizerinnen und Schweizer | 255953 | |
2001 | Ausländerinnen und Ausländer | 106089 | |
2002 | Schweizerinnen und Schweizer | 255757 | |
2002 | Ausländerinnen und Ausländer | 108801 | |
2003 | Schweizerinnen und Schweizer | 255649 | |
2003 | Ausländerinnen und Ausländer | 108879 | |
2004 | Schweizerinnen und Schweizer | 254835 | |
2004 | Ausländerinnen und Ausländer | 110142 | |
2005 | Schweizerinnen und Schweizer | 255917 | |
2005 | Ausländerinnen und Ausländer | 110892 | |
2006 | Schweizerinnen und Schweizer | 259102 | |
2006 | Ausländerinnen und Ausländer | 110960 | |
2007 | Schweizerinnen und Schweizer | 261436 | |
2007 | Ausländerinnen und Ausländer | 115379 | |
2008 | Schweizerinnen und Schweizer | 262595 | |
2008 | Ausländerinnen und Ausländer | 117904 | |
2009 | Schweizerinnen und Schweizer | 265512 | |
2009 | Ausländerinnen und Ausländer | 117394 | |
2010 | Schweizerinnen und Schweizer | 268017 | |
2010 | Ausländerinnen und Ausländer | 117451 | |
2011 | Schweizerinnen und Schweizer | 269065 | |
2011 | Ausländerinnen und Ausländer | 121017 | |
2012 | Schweizerinnen und Schweizer | 270855 | |
2012 | Ausländerinnen und Ausländer | 123157 | |
2013 | Schweizerinnen und Schweizer | 272705 | |
2013 | Ausländerinnen und Ausländer | 125870 | |
2014 | Schweizerinnen und Schweizer | 275649 | |
2014 | Ausländerinnen und Ausländer | 129134 | |
2015 | Schweizerinnen und Schweizer | 279236 | |
2015 | Ausländerinnen und Ausländer | 131168 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(d3, sszvis,BEV002W0002_Entwicklung_nach_HerkunftParams) { | |
'use strict'; | |
/* Configuration | |
----------------------------------------------- */ | |
var config = { | |
// The path to the CSV file containing the data for this chart | |
dataPath: BEV002W0002_Entwicklung_nach_HerkunftParams.data, | |
// The title and description of this chart for visually impaired users | |
title: BEV002W0002_Entwicklung_nach_HerkunftParams.title, | |
description: BEV002W0002_Entwicklung_nach_HerkunftParams.description, | |
// Data column to use for the x-axis | |
xColumn: 'Jahr', | |
// Data column to use for the y-axis | |
yColumn: 'Anzahl', | |
// Data column to use for the values | |
cColumn:'Herkunft', | |
// The labels for the x and y-axis. Set to empty ('') to hide the label | |
yAxisLabel: '', | |
xAxisLabel: '', | |
// Number of ticks on the x- and y-axis. Replace null with a cardinal number to specify the number of ticks | |
xTicks: null, | |
yTicks: 5, | |
// Padding between legend and x-axis in pixels. The recommended default is 60px. | |
legendPadding: 60, | |
//View of the chart when interactivity is not available. Creates vertical lines for the x-ticks and does not render mouse interaction when true | |
fallback: false, | |
targetElement: BEV002W0002_Entwicklung_nach_HerkunftParams.id | |
}; | |
if (sszvis.fallback.unsupported()) { | |
sszvis.fallback.render(config.targetElement); | |
return; | |
} | |
// This example works in much the same way as the twelve-category stacked area chart. | |
// Much of the code is similar, if not the same. For a detailed description of the | |
// process of rendering this type of chart, see the twelve-category example, sa-twelve.html | |
/* Shortcuts | |
----------------------------------------------- */ | |
var xAcc = sszvis.fn.prop('year'); | |
var yAcc = sszvis.fn.prop('value'); | |
var cAcc = sszvis.fn.prop('category'); | |
var originScale = d3.scale.ordinal() | |
.range(['#E67D73','#E6CF73']); | |
/* Application state | |
----------------------------------------------- */ | |
var state = { | |
data: [], | |
timeExtent: [0, 0], | |
stackedData: [], | |
maxStacked: 0, | |
categories: [], | |
isMultiples: false, | |
highlightDate: new Date(), | |
highlightData: [], | |
totalHighlightValue: 0, | |
mouseYValue: 0 | |
}; | |
/* State transitions | |
----------------------------------------------- */ | |
var actions = { | |
prepareState: function(data) { | |
state.data = data; | |
state.timeExtent = d3.extent(state.data, xAcc); | |
state.stackedData = sszvis.cascade() | |
.arrayBy(cAcc) | |
.apply(state.data) | |
.map(function(stack) { | |
return { | |
category: cAcc(stack[0]), | |
values: stack | |
}; | |
}); | |
var dateValues = sszvis.cascade() | |
.objectBy(sszvis.fn.compose(String, xAcc)) | |
.apply(state.data); | |
state.maxValue = d3.max(state.data, yAcc); | |
state.maxStacked = d3.max(d3.values(dateValues), function(s) { | |
return d3.sum(s, yAcc); | |
}); | |
state.maxStacked = d3.max([state.maxStacked,500000]); | |
state.categories = sszvis.fn.set(state.data, cAcc); | |
state.dates = sszvis.fn.set(state.data, xAcc); | |
actions.resetDate(); | |
}, | |
toggleMultiples: function(g) { | |
state.isMultiples = (g === 'Separiert'); | |
render(state); | |
}, | |
changeDate: function(xValue, yValue) { | |
var closest = findClosest(state.dates, xValue); | |
state.highlightDate = closest; | |
state.highlightData = state.stackedData.map(function(stack) { | |
return stack.values.filter(function(v) { return xAcc(v).toString() === closest.toString(); })[0]; | |
}); | |
state.totalHighlightValue = state.highlightData.reduce(function(m, v) { | |
return yAcc(v) + m; | |
}, 0); | |
state.mouseYValue = yValue; | |
render(state); | |
}, | |
resetDate: function() { | |
var mostRecent = d3.max(state.data, xAcc); | |
actions.changeDate(mostRecent, 0); | |
} | |
}; | |
/* Data initialization | |
----------------------------------------------- */ | |
d3.csv(config.dataPath) | |
.row(function(d) { | |
return { | |
category: d[config.cColumn], | |
year: sszvis.parse.year(d[config.xColumn]), | |
value: sszvis.parse.number(d[config.yColumn]) | |
}; | |
}) | |
.get(function(error, data) { | |
if (error) { | |
sszvis.loadError(error); | |
return; | |
} | |
actions.prepareState(data); | |
}); | |
/* Render | |
----------------------------------------------- */ | |
function render(state) { | |
// the color scale for the layers, based on the number of categories | |
var cScale = originScale;//state.categories.length > 6 ? sszvis.color.qual12() : sszvis.color.qual6(); | |
cScale.domain(state.categories); | |
var colorLegend = flexibleLegend(cScale, state.categories.length) | |
var bounds = sszvis.bounds({ top: 20, bottom: config.legendPadding + legendHeight(colorLegend, state.categories.length), width: d3.select("#sszvis-chart-1").node().getBoundingClientRect().width}) | |
// Scales | |
var xScale = d3.time.scale() | |
.domain(state.timeExtent) | |
.range([0, bounds.innerWidth]); | |
var yScale = d3.scale.linear() | |
.domain([0, state.maxStacked]) | |
.range([bounds.innerHeight, 10]); | |
// Layers | |
var chartLayer = sszvis.createSvgLayer(config.targetElement, bounds, { | |
title: config.title, | |
description: config.description | |
}) | |
.datum(state.stackedData); | |
var htmlLayer = sszvis.createHtmlLayer(config.targetElement); | |
// Components | |
var stackedArea = sszvis.component.stackedArea() | |
.key(sszvis.fn.prop('category')) | |
.valuesAccessor(sszvis.fn.prop('values')) | |
.x(sszvis.fn.compose(xScale, xAcc)) | |
.yAccessor(yAcc) | |
.yScale(yScale) | |
.fill(sszvis.fn.compose(cScale, cAcc)); | |
var topValue; | |
topValue = yScale(state.totalHighlightValue); | |
var rangeRuler = sszvis.annotation.rangeRuler() | |
.top(topValue) | |
.bottom(bounds.innerHeight) | |
.x(xScale(state.highlightDate)) | |
.y0(function(d) { | |
return yScale(d.y0); | |
}) | |
.y1(function(d) { | |
return yScale(d.y0 + d.y); | |
}) | |
.label(function(d) { | |
return yAcc(d).toString(); | |
}) | |
.total(state.totalHighlightValue) | |
.flip(function(d) { | |
return xScale(state.highlightDate) >= 0.5 * bounds.innerWidth; | |
}); | |
var tooltipText = sszvis.svgUtils.modularText.html() | |
.bold(sszvis.fn.compose(sszvis.format.number, yAcc)) | |
.plain(cAcc); | |
var rangeTooltip = sszvis.annotation.tooltip() | |
.header(tooltipText) | |
.orientation(function(d) { | |
return xScale(state.highlightDate) >= 0.5 * bounds.innerWidth ? 'right' : 'left'; | |
}) | |
.renderInto(htmlLayer) | |
.visible(true); | |
var rangeFlag = sszvis.annotation.rangeFlag() | |
.x(xScale(state.highlightDate)) | |
.y0(function(d) { | |
return yScale(d.y0); | |
}) | |
.y1(function(d) { | |
return yScale(d.y0 + d.y); | |
}); | |
var xAxisTicks = xScale.ticks(config.xTicks) | |
.concat(state.highlightDate); | |
var xAxis = sszvis.axis.x.time() | |
.scale(xScale) | |
.orient('bottom') | |
.tickValues(xAxisTicks) | |
.title(config.xAxisLabel) | |
.highlightTick(function(d) { | |
return sszvis.fn.stringEqual(d, state.highlightDate); | |
}); | |
var yAxisTicks = yScale.ticks(config.yTicks); | |
var yAxis = sszvis.axis.y() | |
.scale(yScale) | |
.orient('right') | |
.title(config.yAxisLabel) | |
.tickLength(config.fallback ? bounds.innerWidth : null) | |
.tickValues(yAxisTicks); | |
// Rendering | |
chartLayer.selectGroup('areachart') | |
.datum(function() { | |
// Reverse the data order | |
return state.stackedData.reduce(function(m, d) { | |
return [d].concat(m); | |
}, []); | |
}) | |
.call(stackedArea); | |
chartLayer.selectGroup('xAxis') | |
.attr('transform', sszvis.svgUtils.translateString(0, bounds.innerHeight)) | |
.call(xAxis); | |
chartLayer.selectGroup('yAxis') | |
.call(yAxis) | |
.transition() | |
.call(sszvis.transition) | |
.style('opacity', Number(!state.isMultiples)); | |
chartLayer.selectGroup('colorLegend') | |
.attr('transform', sszvis.svgUtils.translateString(0, bounds.innerHeight + config.legendPadding)) | |
.call(colorLegend); | |
if (!config.fallback) { | |
chartLayer.selectGroup('highlight') | |
.datum(state.highlightData) | |
.call(rangeRuler); | |
} | |
var flagGroup = chartLayer.selectGroup('flag') | |
.datum(state.highlightData.filter(function(v) { | |
return v.y0 < state.mouseYValue && v.y0 + v.y > state.mouseYValue; | |
})) | |
.call(rangeFlag); | |
flagGroup.selectAll('[data-tooltip-anchor]').call(rangeTooltip); | |
// Interaction | |
if (!config.fallback) { | |
var interactionLayer = sszvis.behavior.move() | |
.xScale(xScale) | |
.yScale(yScale) | |
.on('move', actions.changeDate) | |
.on('end', actions.resetDate); | |
chartLayer.selectGroup('interaction') | |
.call(interactionLayer) | |
} | |
} | |
/* Helper functions | |
----------------------------------------------- */ | |
function findClosest(data, datum) { | |
var i = d3.bisectLeft(data, datum, 1); | |
var d0 = data[i - 1]; | |
var d1 = data[i] || d0; | |
return datum - d0 > d1 - datum ? d1 : d0; | |
} | |
function flexibleLegend(scale, numEntries) { | |
var legend = sszvis.legend.ordinalColorScale().scale(scale) | |
if (numEntries <= 4) { | |
legend.horizontalFloat(true) | |
} else { | |
legend | |
.rows(Math.ceil(numEntries / 2)) | |
.orientation('vertical'); | |
}; | |
return legend; | |
} | |
function legendHeight(legend, numEntries) { | |
return legend.rowHeight() * Math.ceil(numEntries / 2); | |
}; | |
}(d3, sszvis,BEV002W0002_Entwicklung_nach_HerkunftParams)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment