Как я могу отформатировать мои значения для оси X в строке NIVO? - PullRequest
0 голосов
/ 22 апреля 2020

Я использую библиотеку @ nivo / line response для диаграмм. Прямо сейчас у меня есть:

xScale={{
                        type: 'time',
                        format: '%m/%d/%Y %H:%M:%S %p',
                        precision: 'second',
                    }}
                    xFormat="time:%Y-%m-%d"
  axisBottom={{
                        orient: 'bottom',
                        tickSize: 0,
                        tickPadding: 10,
                        tickRotation: 0,
                        tickValues: 'every 5 hours',
                        format: '%m/%d/%Y %H:%M:%S %p',
                        legendOffset: 100,
                        translateX: 25,
                        legendPosition: 'start',
                    }}

Я хочу полностью удалить представление секунд. Документы здесь: https://nivo.rocks/guides/axes#ticks, но я ищу что-то более конкретное c или с примерами. Я знаю, что могу удалить миллисекунды из своих данных, но мне было интересно, смогу ли я сделать формат без этого. У кого-нибудь есть больше информации конкретно по форматированию? спасибо


Мне удалось отформатировать его следующим образом: формат: '% m /% d /% Y% H:% M% p'. без изменения какой-либо другой области форматирования. Изменение более одного вызывает ошибку. Теперь мне нужно создать новую строку в этом.

1 Ответ

0 голосов
/ 01 мая 2020

Вы пытались использовать функцию для свойства формата? Вы можете использовать его для преобразования значения любым способом.

Мне нравятся даты в моих данных как Unix отметок времени. Это помогает мне сохранять гибкость при отображении их по-разному в разных компонентах. В приведенном ниже примере используется библиотека Moment. js для помощи в форматировании даты, но она действительно работает с чем угодно.

<ResponsiveLine
    axisBottom={{
        format: function(value){ 
            return moment.unix(value).format('MMMM Do YYYY, h:mm');
        }
    }}
    // other props
/>

Было бы полезно, если вы предоставили минимальный рабочий пример (например, codepen или jsfiddle). ), потому что решение зависит от структуры ваших данных. И это сделает поиск решения для вашего конкретного случая c проще и веселее :-)

...