RGraph: научное обозначение (например, 4e-2 вместо 0,02) по оси Y.

Иногда RGraph отображает «4e-2» вместо «0,02» по оси Y линейного графика. Я установил для scale.decimals значение 2, и 0 правильно отображается как 0,00, но 0,02, 0,04 и т. д. отображаются в экспоненциальном представлении.

Если нет свойства, которое можно было бы установить, чтобы заставить это сделать, как мне изменить метки «вручную» с помощью javascript до того, как диаграмма будет напечатана?

Спасибо заранее. Майкл


person TheIndividual    schedule 04.03.2015    source источник
comment
Какие данные? Можете ли вы привести пример?   -  person Lightness Races in Orbit    schedule 06.03.2015
comment
У меня около 100 значений, все они точно от 0,01 до 0,05 - ни одно из них не имеет более двух десятичных знаков после запятой, как в RGraph-скрипте Ричарда в посте ниже. Обходной путь Ричардса идеально подходит для меня!   -  person TheIndividual    schedule 13.03.2015
comment
Правильно, но ТАК вопросы всегда не только для вас, поэтому не могли бы вы улучшить вопрос, предоставив в нем фактические данные, чтобы его можно было конкретно воспроизвести в будущем.   -  person Lightness Races in Orbit    schedule 13.03.2015


Ответы (2)


Вы можете использовать опцию chart.ylabels.specific. Например:

obj.set('chart.ylabels.specific', ['1.00','0.80','0.60','0.40','0.20']);

person Richard    schedule 05.03.2015
comment
Привет, Ричард, я знаю конкретные метки, но если я их использую, я не хочу снова выполнять все вычисления максимального значения, которые уже сделал RGraph. Я хотел бы использовать функцию, которая переводит уже существующие y-метки в научной записи в обычную запись. Поэтому я хотел бы получить массив ylabels, преобразовать его и переназначить по вашему предложению. Но мне не удается прочитать существующие метки: var foo = chart.get('chart.scale2.labels'); не работает ни до рисования линейного графика, ни в chart.on('draw', function (obj) {...}).draw(); -функция. как это сделать? Спасибо! - person TheIndividual; 06.03.2015
comment
Привет, Ричард, большое спасибо за ваше исследование и особенно за обходной путь скрипки! Он работает отлично. Теперь я также знаю, что сначала мне нужно нарисовать диаграмму, затем изменить метки, а затем перерисовать - это была моя проблема, когда я пытался получить доступ к меткам y и получал только ошибки. Как указано в комментарии к ответу Lightness, мои данные имеют ~ 100 значений от 0,01 до 0,05, и все они имеют ровно 2 десятичных знака (для воспроизведения ошибки). Спасибо еще раз! RGraph — очень хорошая JS-библиотека! - person TheIndividual; 13.03.2015

Согласно документации, нет, нет свойств для изменения этого поведения. так что, по-видимому, переход на научную нотацию не является преднамеренным.

Вы застряли, явно называя точки оси.

Для меня это похоже на ошибку библиотеки, поэтому вам следует связаться с авторами. Не забудьте отправить им правильный тестовый пример с реальными данными, которые четко воспроизводят проблему.

person Lightness Races in Orbit    schedule 05.03.2015