2013-04-18 2 views

ответ

3

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

Он использует размер содержащего элемента для определения его размера, поэтому он не может игнорировать высоту содержащего элемента.

Если вам нужна меньшая диаграмма, которая заполняет больше места на вашей странице, вы можете поместить свой содержащий элемент в другой элемент оболочки. Затем вы можете рассчитать, насколько высока ваша диаграмма должна быть основана на количестве серий и передавать эту высоту контейнеру.

Если вы хотите, чтобы серия, которую вы указали сгруппированной вверху, вам нужно добавить дополнительные нулевые точки данных, чтобы заполнить пространство под ними.

Если вы можете уточнить, что вы хотите и почему, то могут быть доступны более качественные ответы.

[[обновление

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

var barCount = chartData.length, 
    pointWidth = 20, 
    marginTop = 70, 
    marginRight = 10, 
    marginBottom = 50, 
    marginLeft = 100, 
    groupPadding = 0, 
    pointPadding = 0.3, 
    chartHeight = marginTop 
       + marginBottom 
       + ((pointWidth * barCount) 
       * (1 + groupPadding + pointPadding)); 

Fiddle здесь:

Связанные вопрос здесь:

+0

Я просто хотел, чтобы бары имели согласованную ширину и интервал, а диаграмма регулирует ее высоту, чтобы соответствовать этому, в зависимости от количества баров. Похоже, Highcharts этого не сделает, но обходной путь, вычисляющий высоту диаграммы самостоятельно, не имеет большого значения. – ejain

0

Да, вы можете установить высоту диаграммы так:

chart: { 
     type: 'bar', 
     height: 200, 
    }, 

Смотрите также http://jsfiddle.net/MLELM/3/

+0

Я не хочу устанавливать высоту диаграммы, но хочу, чтобы Highcharts настраивал высоту диаграммы в соответствии с тем, что необходимо для соблюдения указанной pointWidth/pointPadding. Возможное? – ejain

+0

Из API: По умолчанию высота вычисляется по высоте смещения содержащего элемента. http://jsfiddle.net/MLELM/4/ – Nina

+1

Итак, как я могу получить Highcharts, чтобы игнорировать высоту содержащего элемента и использовать какое бы большое вертикальное пространство ему не нужно, чтобы почтить указанный pointWidth и pointPadding? – ejain

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