|
|
|
|
@ -7,14 +7,27 @@ The plugin supports these options:
|
|
|
|
|
|
|
|
|
|
selection: {
|
|
|
|
|
mode: null or "x" or "y" or "xy",
|
|
|
|
|
color: color
|
|
|
|
|
color: color,
|
|
|
|
|
shape: "round" or "miter" or "bevel",
|
|
|
|
|
minSize: number of pixels
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Selection support is enabled by setting the mode to one of "x", "y" or "xy".
|
|
|
|
|
In "x" mode, the user will only be able to specify the x range, similarly for
|
|
|
|
|
"y" mode. For "xy", the selection becomes a rectangle where both ranges can be
|
|
|
|
|
specified. "color" is color of the selection (if you need to change the color
|
|
|
|
|
later on, you can get to it with plot.getOptions().selection.color).
|
|
|
|
|
later on, you can get to it with plot.getOptions().selection.color). "shape"
|
|
|
|
|
is the shape of the corners of the selection.
|
|
|
|
|
|
|
|
|
|
"minSize" is the minimum size a selection can be in pixels. This value can
|
|
|
|
|
be customized to determine the smallest size a selection can be and still
|
|
|
|
|
have the selection rectangle be displayed. When customizing this value, the
|
|
|
|
|
fact that it refers to pixels, not axis units must be taken into account.
|
|
|
|
|
Thus, for example, if there is a bar graph in time mode with BarWidth set to 1
|
|
|
|
|
minute, setting "minSize" to 1 will not make the minimum selection size 1
|
|
|
|
|
minute, but rather 1 pixel. Note also that setting "minSize" to 0 will prevent
|
|
|
|
|
"plotunselected" events from being fired when the user clicks the mouse without
|
|
|
|
|
dragging.
|
|
|
|
|
|
|
|
|
|
When selection support is enabled, a "plotselected" event will be emitted on
|
|
|
|
|
the DOM element you passed into the plot function. The event handler gets a
|
|
|
|
|
@ -32,7 +45,8 @@ parameters as the "plotselected" event, in case you want to know what's
|
|
|
|
|
happening while it's happening,
|
|
|
|
|
|
|
|
|
|
A "plotunselected" event with no arguments is emitted when the user clicks the
|
|
|
|
|
mouse to remove the selection.
|
|
|
|
|
mouse to remove the selection. As stated above, setting "minSize" to 0 will
|
|
|
|
|
destroy this behavior.
|
|
|
|
|
|
|
|
|
|
The plugin allso adds the following methods to the plot object:
|
|
|
|
|
|
|
|
|
|
@ -274,7 +288,7 @@ The plugin allso adds the following methods to the plot object:
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function selectionIsSane() {
|
|
|
|
|
var minSize = 5;
|
|
|
|
|
var minSize = plot.getOptions().selection.minSize;
|
|
|
|
|
return Math.abs(selection.second.x - selection.first.x) >= minSize &&
|
|
|
|
|
Math.abs(selection.second.y - selection.first.y) >= minSize;
|
|
|
|
|
}
|
|
|
|
|
@ -305,7 +319,7 @@ The plugin allso adds the following methods to the plot object:
|
|
|
|
|
|
|
|
|
|
ctx.strokeStyle = c.scale('a', 0.8).toString();
|
|
|
|
|
ctx.lineWidth = 1;
|
|
|
|
|
ctx.lineJoin = "round";
|
|
|
|
|
ctx.lineJoin = o.selection.shape;
|
|
|
|
|
ctx.fillStyle = c.scale('a', 0.4).toString();
|
|
|
|
|
|
|
|
|
|
var x = Math.min(selection.first.x, selection.second.x) + 0.5,
|
|
|
|
|
@ -335,7 +349,9 @@ The plugin allso adds the following methods to the plot object:
|
|
|
|
|
options: {
|
|
|
|
|
selection: {
|
|
|
|
|
mode: null, // one of null, "x", "y" or "xy"
|
|
|
|
|
color: "#e8cfac"
|
|
|
|
|
color: "#e8cfac",
|
|
|
|
|
shape: "round", // one of "round", "miter", or "bevel"
|
|
|
|
|
minSize: 5 // minimum number of pixels
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
name: 'selection',
|
|
|
|
|
|