From 46e1221f174440a7465bff778e1a173838a96305 Mon Sep 17 00:00:00 2001 From: Eric Wendelin Date: Mon, 20 Feb 2012 15:26:37 -0700 Subject: [PATCH] Allowing custom highlight color --- jquery.flot.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/jquery.flot.js b/jquery.flot.js index 0db9fe1..2c19b87 100644 --- a/jquery.flot.js +++ b/jquery.flot.js @@ -113,7 +113,8 @@ align: "left", // or "center" horizontal: false }, - shadowSize: 3 + shadowSize: 3, + highlightColor: null }, grid: { show: true, @@ -285,6 +286,8 @@ $.extend(true, options.series.bars, options.bars); if (options.shadowSize != null) options.series.shadowSize = options.shadowSize; + if (options.highlightColor != null) + options.series.highlightColor = options.highlightColor; // save options on axes for future reference for (i = 0; i < options.xaxes.length; ++i) @@ -2520,13 +2523,14 @@ function drawPointHighlight(series, point) { var x = point[0], y = point[1], axisx = series.xaxis, axisy = series.yaxis; + highlightColor = (typeof series.highlightColor === "string") ? series.highlightColor : $.color.parse(series.color).scale('a', 0.5).toString(); if (x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max) return; var pointRadius = series.points.radius + series.points.lineWidth / 2; octx.lineWidth = pointRadius; - octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString(); + octx.strokeStyle = highlightColor; var radius = 1.5 * pointRadius, x = axisx.p2c(x), y = axisy.p2c(y); @@ -2541,10 +2545,13 @@ } function drawBarHighlight(series, point) { + var highlightColor = (typeof series.highlightColor === "string") ? series.highlightColor : $.color.parse(series.color).scale('a', 0.5).toString(), + fillStyle = highlightColor, + barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2; + octx.lineWidth = series.bars.lineWidth; - octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString(); - var fillStyle = $.color.parse(series.color).scale('a', 0.5).toString(); - var barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2; + octx.strokeStyle = highlightColor; + drawBar(point[0], point[1], point[2] || 0, barLeft, barLeft + series.bars.barWidth, 0, function () { return fillStyle; }, series.xaxis, series.yaxis, octx, series.bars.horizontal, series.bars.lineWidth); }