Sto creando un grafico a più linee utilizzando la libreria javascript di Densionamento di diteggiatura dimensionale, che si basa su d3 e crossfilter. Sono nuovo nella libreria dc.js. Sto cercando di visualizzare il grafico multilinea usando il file CSV. Non riesco a capire come creare un grafico multilinea seguendo il formato CSV.come creare un grafico a più righe usando dc.js
mio formato di colonna CSV è
Age_19_Under Age_19_64 Age_65_84 Age_85_and_Over
26.9 62.3 9.8 0.9
23.5 60.3 14.5 1.8
24.3 62.5 11.6 1.6
24.6 63.3 10.9 1.2
24.5 62.1 12.1 1.3
24.7 63.2 10 2.2
25.6 58.5 13.6 2.4
24.1 61.6 12.7 1.5
24.8 59.5 13.5 2.2
sto provando codice foolowing:
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<head>
<link href="{% static 'css/dc.css' %}" rel="stylesheet" media="screen">
<link href="{% static 'css/example-styles.css' %}" rel="stylesheet" media="screen">
</head>
<div class="container" style="margin-top: 140px">
<div class="col-lg-12" id="chart-row-Poverty1">
</div>
</div>
<script type="text/javascript" src="{% static 'js/d3.js' %}"></script>
<script type="text/javascript" src="{% static 'js/crossfilter.js' %}"></script>
<script type="text/javascript" src="{% static 'js/dc.js' %}"></script>
<script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/d3.js' %}"></script>
<script type="text/javascript" src="{% static 'js/index.js' %}"></script>
<script type="text/javascript">
var lineChart1=dc.compositeChart("#chart-row-Poverty1");
var g;
d3.csv("{% static 'sampledata/helthdata.csv' %}", function(error, experiments) {
var dateFormat = d3.time.format("%Y");
var numberFormat = d3.format(",f");
var ndx = crossfilter(experiments);
var all = ndx.groupAll();
var runDimension = ndx.dimension(function(d) {return [+d.Age_19_Under, +d.Age_19_64, +d.Age_65_84,+d.Age_85_and_Over]; });
var runGroup = runDimension.group().reduceSum(function(d) { return 1; });
lineChart1.width(1160)
.height(250)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(runDimension)
.group(runGroup)
.transitionDuration(500)
.elasticY(true)
.brushOn(false)
.valueAccessor(function (d) {
return d.value;
})
.title(function(d){
return "\nNumber of Povetry: "+d.key;
})
.x(d3.scale.linear().domain([4, 27]))
.xAxis();
dc.renderAll();
});
</script>
{% endblock %}
comporre non funziona per me .. qualche idea perché. Ricevo la funzione sconosciuta –
@Dilip - Difficile dire senza vedere il codice reale. Una cosa generale che posso dire è che se si stanno concatenando metodi come nell'esempio precedente, l'ordine può avere importanza perché, come ricordo, i metodi non restituiscono tutti lo stesso identico tipo di oggetto. È facile cadere nella trappola di pensare che '' '' 'espressione()' viene richiamato su 'lineChart1' quando viene effettivamente chiamato su qualunque cosa viene restituito dalla chiamata a' .x() '. –
Se si verifica un errore durante la composizione non è una funzione, assicurarsi di impostare il tipo di grafico originale su compositeChart. (ad esempio var lineChart1 = dc.compositeChart ("# chart-row-Poverty1");) Quindi è possibile definire il tipo di grafico individuale per ogni argomento che si deve comporre. –