sdespont sdespont - 7 months ago 22
Javascript Question

JqPlot : Set a fix height value for the graph area not including y axe labels

I am using JqPlot.

The graph height is depending on the height of the main container or the default JqPlot value.

My problem is that if the y label is very long, the graph size is reduced to fit in the main container.

Is it possible to set a fix value for the graph height which is not depending on the label text length?

My need : I would like always display the same graph height (400px for example) not depending on the y label text length

Here is an image to depict my problem:

enter image description here
enter image description here

Answer

Only thing that comes to my mind is something along these lines presented in this sample.
After the call to paint the plot, call the below code to get the current plot's size and adjust it accordingly by adding the size taken by the surrounding divs (i.e. title & axes).
In result whatever you set for the size of your chart in CSS will be taken by the graphical part of the chart, just as you want it.

var w = parseInt($(".jqplot-yaxis").width(), 10) + parseInt($("#chart").width(), 10);
var h = parseInt($(".jqplot-title").height(), 10) + parseInt($(".jqplot-xaxis").height(), 10) + parseInt($("#chart").height(), 10);
$("#chart").width(w).height(h);
plot.replot();