Chciałbym pokazać 3 strefy kolorów na moim wykresie na tle zgodnie z wartością osi Y, ponieważ rozumiem, nie mogę kontrolować koloru tła za pomocą różnych kolorów.jqPlot - Jak zmienić przezroczystość lub z-index canvasOverlay?
Mój pomysł polega na narysowaniu 3 linii poziomych za pomocą canvasOverlay - to działa. Problem polega na tym, że chcę umieścić tę linię za krzywą wykresu, teraz widzianą z przodu i pokrywa się z moją linią punktów.
Czy mogę zmienić właściwość z-index lub krycie?
Może jakieś inne pomysły?
$.jqplot('ChartDIV', [data],
{
series: [{ showMarker: true}],
highlighter: {
sizeAdjust: 10,
show: true,
tooltipLocation: 'n',
useAxesFormatters: true
},
tickOptions: {
formatString: '%d'
},
canvasOverlay: {
show: true,
objects: [
{
horizontalLine:
{
name: 'low',
y: 1.0,
lineWidth: 100,
color: 'rgb(255, 0, 0)',
shadow: false
}
},
{
horizontalLine:
{
name: 'medium',
y: 2.0,
lineWidth: 100,
color: 'rgb(250, 250, 0)',
shadow: true
}
},
{
horizontalLine:
{
name: 'high',
y: 3.0,
lineWidth: 100,
color: 'rgb(145, 213, 67)',
shadow: false
}
},
]
},
axes: {
xaxis:
{
label: 'Dates',
renderer: $.jqplot.DateAxisRenderer,
rendererOptions: { tickRenderer: $.jqplot.CanvasAxisTickRenderer },
tickOptions: {
formatString: '%d/%m/%Y',
angle: -30,
fontFamily: 'Arial',
fontSize: '13px',
fontWeight: 'bold'
},
min: d[0] + "/" + d[1] + "/01",
tickInterval: '2 month',
labelOptions: {
fontFamily: 'Arial',
fontSize: '14pt',
fontWeight: 'bold',
textColor: '#0070A3'
}
},
yaxis:
{
label: 'Level',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
tickOptions: {
formatter: $.jqplot.tickNumberFormatter
},
rendererOptions: { tickRenderer: $.jqplot.CanvasAxisTickRenderer },
labelOptions: {
fontFamily: 'Arial',
fontSize: '14pt',
fontWeight: 'bold',
textColor: '#0070A3',
angle: -90
}
}
}
});
nie jestem pewien, w jaki sposób i gdzie dokładnie masz go malować, próbka kodu byłoby użyteczne. Czy możesz podać jeden, prawdopodobnie na http://jsfiddle.net/? – Boro
zaktualizowano kodem – Katya
Proszę sprawdzić moje ** EDYCJĘ **. Moją rekomendacją dla ciebie na przyszłość jest użycie 'jsfiddle' zamiast tylko fragmentów kodu. To poważnie oszczędza czas na jedną odpowiedź, a ty i osoba odpowiadająca masz pewność, że kod dokładnie pokazuje Twój problem. W tym jednym musiałem dodać moje dane, itp. Musiałem je również trochę zepsuć. – Boro