2015-07-12 1 views
0

Я пытаюсь включить как значение даты и в той же клетке, используя Cal-HeatMapCal-HeatMap - Как отформатировать дату и значение в ячейке subDomainText

Вот скрипку пример того, что я пытаюсь сделать. ...

[https://jsfiddle.net/paulrollings/6L36ajhn/12/][2] 

Любые советы помогут вам оценить. Благодаря Paul

+0

Ваш jsFiddle имеет дату и значение в ячейке. Вы спрашиваете, как разместить их на отдельных строках? – Mark

+0

Да, это то, что я хотел бы сделать. Укажите дату, а затем возврат каретки и значение ниже всех в пределах одной ячейки. Попробовали дату + «\ r \ n» + val также
&013;/ –

+0

У меня был быстрый взгляд. Кажется, что текст введен как текстовый элемент SVG (в группе в прямоугольнике). Разрывы строк в тексте SVG не интересны, см., Например, здесь: http://stackoverflow.com/questions/16701522/how-to-linebreak-an-svg-text-within-javascript ... поэтому я думаю, что ваши руки довольно привязаны. Вы можете разблокировать репо или создать файл. Но сначала я бы рекомендовал еще несколько исследований :) Удачи (\ n - javascript,
html-тег ...) –

ответ

3

Вы можете взломать его после CalHeatMap делает:

// wrap in timeout to let map render 
setTimeout(function(){ 
    var t = d3.selectAll('.subdomain-text') // find all the text blocks 
    .text(null); // blank them out 
    t.append('tspan') 
    .text(function(d){ 
     return new Date(d.t).getDate(); //append tspan with date 
    }) 
    .attr('x', function(d){ 
     return d3.select(this.parentNode).attr('x'); // steal parent x value so it stays in place 
    }); 
    t.append('tspan') 
    .text(function(d){ 
     return "€" + d.v; //append tspan with value 
    }) 
    .attr('dy','1.2em') 
    .attr('x', function(d){ 
     return d3.select(this.parentNode).attr('x'); // steal parent x value so it stays in place 
    }); 
}, 100); 

Обновлено скрипку here.

enter image description here

Смежные вопросы