Я использую отличный плагин jqPlot, и единственная функция, которую я не нашел в documentation, - это «как цвет частей фона/сетки с несколькими разными цветами "jqPlot: как цветные части фона/сетки с несколькими разными цветами
Ограждениями по оси х моих графиков являются даты. Я хотел бы выделить часть выходного дня (только) сетки, изменив цвет сетки фона, если это возможно.
Или у кого-нибудь была бы другая идея?
Благодаря
ИЗМЕНИТЬ С окончательный ответ
основе по предложению Boro, я разработал лучший способ, чтобы выделить часть фона, используя опцию «строки» вместо опции «verticalLine». Дело в том, что с «verticalLine» разработчики должны иметь дело с шириной линии. Таким образом, получить то, что вам нужно, сложно, потому что ширина линии распространяется от центра линии, а не от границы.
"Line" option позволяет установить начальную и конечную точки, чтобы установить точную часть фона для выделения. Параметр width по-прежнему используется для отображения строки в виде столбца, но распространяется горизонтально, а не вертикально.
О свойствах «lineWidth», значение определяется в пикселях. Поэтому вы можете установить значение с высотой контейнера графа и установить значение «y» свойств «start» и «end» со средним значением ваших данных серии или приблизительным средним диапазоном вашего yaxis.
Я обновил скрипку Боро в here
grid:
{
drawGridLines: true, // wether to draw lines across the grid or not.
gridLineColor: '#cccccc', // Color of the grid lines.
backgroundColor: "#eee",
borderColor: '#999999', // CSS color spec for border around grid.
borderWidth: 2.0, // pixel width of border around grid.
shadow: true, // draw a shadow for grid.
shadowAngle: 45, // angle of the shadow. Clockwise from x axis.
shadowOffset: 1.5, // offset from the line of the shadow.
shadowWidth: 3, // width of the stroke for the shadow.
shadowDepth: 3, // Number of strokes to make when drawing shadow.
// Each stroke offset by shadowOffset from the last.
shadowAlpha: 0.07, // Opacity of the shadow
},
canvasOverlay: {
show: true,
objects:
[
{
line:
{
start : [new Date('2012-01-12').getTime(),20],
stop : [new Date('2012-01-13').getTime(),20],
lineWidth: 1000,
color: 'rgba(255, 0, 0,0.45)',
shadow: false,
lineCap : 'butt'
}
},
{
line:
{
start : [new Date('2012-01-13').getTime(),20],
stop : [new Date('2012-01-14').getTime(),20],
lineWidth: 1000,
color: 'rgba(255, 0, 0,0.45)',
shadow: false,
lineCap : 'butt'
}
}
]
}
Большое спасибо Боро, это именно то, что мне нужно. Извините, что так поздно, я был в отпуске. – sdespont
Привет, FYI, я только что редактировал свой пост с моим окончательным решением. Спасибо – sdespont
@Bouillou благодарит вас за то, что поделился ею с нами. Очень хороший код. Я вижу, что вы на самом деле заметили, что остановка полезна, когда я пробовал, она не работает для меня с помощью 'verticalLine', но с' line' она отлично работает. Интересно, как следует оценивать значение 'lineWidth'? Кстати, если бы я мог задать +1 вопрос еще раз - для кода и образца. :) – Boro