Форматирование числа в процентах в d3

В настоящее время использует Superset и пытается отформатировать ось Y графика, чтобы показать число в процентах.

Значения

0,7, 0,75, 0,9, 1,2, 1,21 и так далее. Я пытаюсь отформатировать их как 0,70%, 0,75%, 0,90%, 1,20%, 1,21% и т. Д. У меня проблемы с форматированием таким образом. Когда я использую ".2%", он возвращает два десятичных знака, т.е. 1,21 превращается в 121,00%. Использование ', 0.01' вернет 1.2, 1.21 и т. Д., Но при добавлении процента к концу он не отображается, а также не добавляется второй знак после запятой, когда он не существует.

Кто-нибудь знает, как форматировать 2-х значные десятичные разряды в d3 (специально для надмножества, которое будет принимать только строку, а не код)

2 ответа

На вкладке столбцов таблицы редактирования в надмножестве вы можете добавить новый столбец типа float, в выражении sql вы можете указать (column_name)/100. 0,70 теперь станет 0,0070, теперь вы можете подать заявку на 0,2% в формате оси Y.

Вы можете проверить это здесь, попробуйте просто дать строку

http://koaning.s3-website-us-west-2.amazonaws.com/html/d3format.html

Почему бы вам просто не объединить их со строкой "%"?

var numbers = [0.7, 0.75, 0.9, 1.2, 1.21];
var format = d3.format(".2f")
numbers.forEach(function(d){
    console.log(format(d)+ "%")
})
<script src="https://d3js.org/d3.v4.min.js"></script>

Другие вопросы по тегам