Установка крайних значений иногда приводит к нежелательному заполнению влево и вправо

#highcharts

#высокие диаграммы

Вопрос:

Я использую Highcharts для визуализации графики на основе сейсмических измерений. Я устанавливаю данные вручную через CoffeeScript / JavaScript с помощью данных JSON, которые выводятся из серверной части.

Параметры для диаграммы следующие:

 {
  "width": 770,
  "height": 250,
  "spacing": [0, 0, 0, 0]
}
 

Варианты для xAxis следующие:

 {
  "minPadding": 0,
  "maxPadding": 0,
  "startOnTick": true,
  "endOnTick": true
}
 

Я добавляю данные следующим образом:

 # 'c' references a Highcharts chart object

# I add the series
c.addSeries({ data: response.data.x }, false)

# I set the extremes
hmin = response.extremes.h.min  # i.e. 0.0
hmax = response.extremes.h.max  # i.e. 6.23
c.xAxis[0].setExtremes(hmin, hmax, false)

# ...
# set some other options, like chart title, etc
# ...

# finally I redraw
c.redraw()
 

Однако, в зависимости от отображаемых данных, я иногда (чаще всего) получаю отступ в области графика слева и / или справа.

введите описание изображения здесь

Желаемый результат ВСЕГДА должен быть без заполнения / пустым с обеих сторон, и диаграмма должна заканчиваться на 6.23 в приведенном выше примере.

Что я упускаю из виду?

Редактировать: Вот ссылка на JSFiddle для тестирования.

Комментарии:

1. Не могли бы вы воспроизвести свою проблему в каком-нибудь онлайн-редакторе, над которым я мог бы поработать?

2. Я мог и добавил ссылку JSFiddle выше. Спасибо!

3. Хотели бы вы добиться чего-то подобного тому, что сделано здесь? jsfiddle.net/BlackLabel/062oucrd

4. Хм … у этого все еще есть пустое место справа для меня? Я бы хотел, чтобы серия была нанесена по всей области без пробелов слева или справа. Может быть, это достижимо только при ручном размещении тиков?

5. что насчет этой конфигурации? jsfiddle.net/BlackLabel/uv65n0ap

Ответ №1:

  • Заполнение появляется, потому что вы устанавливаете ширину диаграммы вручную — width:770 в строке # 15. Вы можете удалить эту строку или указать процент в качестве значения ширины.
  • Ось X заканчивается на 7, потому что вы установили параметр оси — endOnTick:true в строке # 43. Вы должны удалить эту строку, чтобы завершить xAxis в hmax.