J'ai un nuage de points qui trace des événements uniques par date sur mon axe X et quand ils se produisent chaque jour, par le second, sur l'axe Y. Pour ce faire, j'ai pris les données de date que j'utilise pour l'axe X, et l'ai passée à travers une fonction qui produirait la seconde exacte du jour où l'événement s'est produit (0 à 86400). En ce sens, mon axe Y passe de 0 secondes à 86400 secondes. Cela m'a permis de représenter chacun d'eux, même de manière unique, sous la forme d'un point sur ma carte, jusqu'à la seconde.Modification des valeurs numériques pour le texte sur l'étiquette Y Axis pour dc.js ScatterPlot
Je suis assez satisfait du résultat de mon tableau:
Le seul problème est mon label Y va de 0 à 86400. Je voudrais changer le texte à un familier HH AM/format PM, peut-être quelque chose le long des lignes de « 0 à 23, où à savoir: si (y = valeur 3600) retour "
1 AM" Mon scatterplot ressemble à ceci:
scatterPlot
.width(window.innerWidth-100)
.height(window.innerHeight/2)
.x(d3.time.scale().domain([minDate, maxDate]))
.brushOn(false)
.mouseZoomable(true)
// .title(function (d) {
// return "Event: " + d['text'];
// })
.clipPadding(5)
.yAxisLabel("Hour of the day")
.elasticY(true)
.dimension(eventsByDateAndHourDim)
.group(eventsByDateAndHourGroup);
J'ai essayé de faire ceci:
scatterPlot.yAxis().tickFormat(function (d) {
if (domain = 43200)
return "12 PM";
})
Mais cela change seulement toutes les étiquettes à "12 PM". Je ne sais pas comment faire référence à la valeur réelle de mon domaine Y.
J'ai essayé d'utiliser le groupe "if (eventsByDateAndHourGroup = 43200) ..." mais cela ne fonctionnait pas non plus.
Vous êtes sur la bonne voie. Il y a une erreur de syntaxe dans votre fonction 'tickFormat', je suppose qu'il manque" 'domain" {'"? Cette fonction sera passée la valeur Y, donc peut-être que je ne suis pas clair sur votre question. – Gordon
Désolé, j'ai copié et collé mal! La fonction est: scatterPlot.yAxis() tickFormat (function (d) { if (domain = 43200) retour "12 heures"; }) très difficile d'obtenir le formatage bien fait sur les commentaires. bien que! J'ai modifié le texte de l'article principal pour refléter le correctif. Pourtant, toutes les étiquettes sont 12 heures. – Mormoran