valuesy[0].length - 1
),
miny = typeof(opts.ymin) == 'undefined' ? ydim.from : opts.ymin,
- maxy = ydim.to,
+ maxy = typeof(opts.maxy) == 'undefined' ? ydim.to : opts.maxy,
kx = (width - gutter * 2) / ((maxx - minx) || 1),
ky = (height - gutter * 2) / ((maxy - miny) || 1);
opts.axisystep || Math.floor((height - 2 * gutter) / 20),
3,
paper));
+
// bottom axis
- +ax[2] && axis.push(
- // bottom
- // x, y, length, from, to, steps, orientation, labels, type, dashsize, paper
- chartinst.axis(
- x + gutter,
- y + height - gutter,
- width - 2 * gutter,
- minx,
- maxx,
- opts.axisxstep || Math.floor((width - 2 * gutter) / 20),
- 0,
- opts.axisxlabels || false,
- paper
-
- ));
+ opts.axisxlabels = opts.axisxlabels || [];
+
+ opts.axisxstep = opts.axisxstep || (opts.axisxlabels ? opts.axisxlabels.length -1 : false ) || len;
+
+ var ax_args = {
+ x : x + gutter,
+ y: y + height - gutter,
+ length : width - 2 * gutter + 20, // total width
+ from: minx , // from -- infinity??? if no 'xvalues set'
+ to : maxx, //to
+ steps : opts.axisxstep , // 9 when we have 8 items?
+ orientation : 0, // orientation
+ labels : opts.axisxlabels || false, // labels
+ type : "-", // type ofbarhgutter line
+ dashsize : 5, // dash size
+ paper: paper,
+ loffset : Math.round(gutter / 100 + (1)),
+ roffset : Math.round(gutter / 100 + (1)) + 20,
+ };
+ //Roo.log(ax_args);
+// +ax[2] && axis.push(
+// // bottom
+// // x, y, length, from, to, steps, orientation, labels, type, dashsize, paper
+ // //chartinst.axis( ax_args, paper)
+ // );
+
+ +ax[2] && axis.push(
+ // bottom
+ // x, y, length, from, to, steps, orientation, labels, type, dashsize, paper
+ chartinst.axis(
+ x + gutter,
+ y + height - gutter,
+ width - 2 * gutter,
+ minx,
+ maxx,
+ opts.axisxstep || Math.floor((width - 2 * gutter) / 20),
+ 0,
+ opts.axisxlabels || false,
+ paper
+
+ ));
// left axis
+ax[3] && axis.push(
- chartinst.axis(
- x + gutter,
- y + height - gutter,
- height - 2 * gutter,
- miny,
- maxy,
- opts.axisystep || Math.floor((height - 2 * gutter) / 20),
- 1,
- paper
+ chartinst.axis(
+ x + gutter,
+ y + height - gutter,
+ height - 2 * gutter,
+ miny,
+ maxy,
+ opts.axisystep || Math.floor((height - 2 * gutter) / 20),
+ 1,
+ paper
));
}
"stroke-dasharray": opts.dash || ""
}));
}
-
+
var sym = Raphael.is(symbol, "array") ? symbol[i] : symbol,
symset = paper.set();
Y = y + height - gutter - (valuesy[i][j] - miny) * ky;
(Raphael.is(sym, "array") ? sym[j] : sym) && symset.push(paper[Raphael.is(sym, "array") ? sym[j] : sym](X, Y, (opts.width || 2) * 3).attr({ fill: colors[i], stroke: "none" }));
-
+
+ var vx = X - (opts.label_padding_x || 0);
+ var vy = Y - (opts.label_padding_y || 10);
+
+ if(opts.linelabels && opts.linelabels[i] && opts.linelabels[i][j]){
+ paper.text(vx, vy, opts.linelabels[i][j]);
+ }
+
if (opts.smooth) {
if (j && j != jj - 1) {
var X0 = x + gutter + ((valuesx[i] || valuesx[0])[j - 1] - minx) * kx,
Xs = Xs.concat(valuesx[i]);
}
- Xs.sort();
+// Xs.sort();
+ Xs.sort(function(a,b) { return a - b; });
// remove duplicates
var Xs2 = [],
}
return this.path(path.join(",")).attr({stroke: color});
};
+
})();