We got a report in the german forum that there were issues with the new jplot charts when php 5.1 was used (see topic "[gelst] Besucher-Graph nach update auf 1.5"). The charts were cut off in the bottom and the div which holds the canvas (class="jqplot-axis jqplot-yaxis" ) has only 2 canvas elements instead of 3 in the regular view.
Upgrading to php 5.2 fixed that for at least one user.
Attachment: Plots cut off at the bottom
Piwik_plots-cut-off.png
Hi!
I can verify that for our Piwik Installation: [50%)]([Image(Piwik_plots-cut-off.png,)]
We use a CentOS 5.5 Installation with a custom PHP 5.1.6 build but we cannot update the PHP version. We'd be happy to help finding what's the cause.
greetings, Daniel
5.1.6 is from Aug 2006, ie. 5 year old. Not going to fix this issue on such old version since issue is not critical
Well, this is a "critical" bug for all user who are forced to use some old PHP as the charts are crap to use and how should someone supposed to use the core functionality (analytics) of piwik if he can't read the graphs?
By the way the minimum requirement is still PHP 5.1.3 so it would be very nice if you could fix this.
+1 for raising requirements; I understand the frustration if somebody is stuck up with an old PHP version, but we'll end up with tons of complex legacy-code if we workaround everything.
I took a quick look at the jqplot code, and it looks like a .js bug (i.e., not php 5.1.x specific). Can you guys test this patch?
In libs/jqplot/jqplot.lineRenderer.js, change this:
// calculate the bounding box
var xmin = xmax = ymin = ymax = null;
for (i=0; i<this._areaPoints.length; i++) {
var p = this._areaPoints[i];
if (xmin > p[0] || xmin == null) {
xmin = p[0];
}
if (ymax < p[1] || ymax == null) {
ymax = p[1];
}
if (xmax < p[0] || xmax == null) {
xmax = p[0];
}
if (ymin > p[1] || ymin == null) {
ymin = p[1];
}
}
to:
// calculate the bounding box
var xmin = xmax = ymin = ymax = null;
for (i=0; i<this._areaPoints.length; i++) {
var p = this._areaPoints[i];
if (xmin > p[0] || xmin === null) {
xmin = p[0];
}
if (ymax < p[1] || ymax === null) {
ymax = p[1];
}
if (xmax < p[0] || xmax === null) {
xmax = p[0];
}
if (ymin > p[1] || ymin === null) {
ymin = p[1];
}
}
Replying to vipsoft:
I took a quick look at the jqplot code, and it looks like a .js bug (i.e., not php 5.1.x specific).
I tested it, but it did not help.
Did you delete the files in tmp/assets/* and clear your browser cache?
Confirmed! Works now.
@vipsoft: Thank you very much! I really appreciate fixing this bug! You saved me from several days of work.