Jqplot

2010-12-10 9 views
5

में दो सीरीज़ डेटा के लिए वेरी कलर बार मैं जानना चाहता हूं कि जेक्प्लॉट में दो श्रृंखलाओं के लिए रंगीन रंग कैसे बदलना है। मैं केवल एक श्रृंखला डेटा है, तो यह पूरी तरह छवि की तरह नीचेJqplot

alt text

अपने मूल्य के आधार पर लाल और हरे रंग रंग काम करता है।

लेकिन यदि मेरे पास दो श्रृंखला डेटा हैं, तो मैं प्रत्येक श्रृंखला डेटा के लिए दो श्रृंखला रंग रखने के लिए कॉन्फ़िगर नहीं कर सकता। अब तक, मैं केवल इस ग्राफ

alt text

बना सकते हैं मैं दो श्रृंखला ग्राफ चाहते हो सकता है अपने मूल्य के साथ-साथ एक श्रृंखला ग्राफ के आधार पर रंग बदलती हैं।

यह मेरा कोड

chart = $.jqplot('map-chart', [dataChart, dataChart2], { 
     title: 'TIME', 
     legend: { 
      renderer: $.jqplot.EnhancedLegendRenderer, 
         show: true, 
         location: 'ne' 
     }, 
     series: [{label: 'Current data'}, {label: 'Worst data'}], 
     //seriesColors: seriesColors1, 
     seriesDefaults:{ 
      renderer:$.jqplot.BarRenderer, 
      pointLabels: {show: true} 
      //rendererOptions:{ 
      //varyBarColor: true 
      //} 
     }, 
     axes: { 
      xaxis: { 
       label: 'station', 
       renderer: $.jqplot.CategoryAxisRenderer, 
       labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
       tickRenderer: $.jqplot.CanvasAxisTickRenderer, 
       ticks: tickers, 
       tickOptions: { 
        angle: -30 
       } 
      }, 
      yaxis: { 
       min: 0, 
       label: 'Time', 
       labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
       tickOptions: { 
        fontSize: '8pt' 
       } 
      } 
     }, 
     highlighter: {show: false} 
    }); 

मैं seriesColors : [seriesColors1, seriesColors2] की कोशिश की है, लेकिन यह काम नहीं किया है।

उत्तर

9

असल में आपको एक श्रृंखला सरणी बनाने की आवश्यकता है, जिसमें प्रति प्रविष्टि एक शब्दकोश है, seriesColors प्रविष्टि के साथ। एक काम कर उदाहरण निम्नलिखित jsfiddle में दिखाया गया है:

plot1 = $.jqplot('chart1', [[50,100,50,50,75],[80,70,50,50,40]], 
{ 
     seriesDefaults:{ 
      renderer:$.jqplot.BarRenderer, 
      rendererOptions:{ varyBarColor : true } 
     }, 
     series: [ 
      {seriesColors: [ "#f00", "#4b0", "#b40", '#ff0', '#fb0']}, 
      {seriesColors: ["#a30", "#4b0", "#b40", '#af0', '#fa0']} 
      ], 
     highlighter: { show: false } 
}); 

(। बेला काम कर रहा है, तो मैं बाहरी js फ़ाइलों को परिवर्तित कर रहे हैं बंद कर सकता है; jsfiddle डिफ़ॉल्ट रूप से jqPlot पुस्तकालयों नहीं है)

+0

धन्यवाद डॉ जिम्बोब ... उत्तर देखने के लिए बहुत लंबा समय इंतजार कर रहा था। यह सचमुच काम करता है। :) –

0

मैं भर में आया था आज और डॉ जिम्बोब ने भविष्यवाणी की थी, सभी बाहरी फाइलों को सड़ांध जोड़ने के लिए झुका हुआ था। मैं यहाँ उपलब्ध एक CDN साइट पाया और नवीनतम jQuery & jqPlot संसाधन फ़ाइलों को बेला अद्यतन,: http://jsfiddle.net/delliottg/WLbGt/96/

बस इतने पर JSFiddle पुलिस को पूरा करने के लिए मुझे इस w पोस्ट नहीं दूँगी कि/यह o:

//this is not my code, it's only here to satisfy the SO require that fiddles have 
// code associated with them 
plot1 = $.jqplot('chart1', [[50,100,50,50,75],[80,70,50,50,40]], { 
     seriesDefaults:{ 
      renderer:$.jqplot.BarRenderer, 
      rendererOptions:{ varyBarColor : true } 
     }, 
    series: [ 
      {seriesColors: [ "#f00", "#4b0", "#b40", '#ff0', '#fb0']}, 
      {seriesColors: ["#00f", "#b0b", "#a30", "#4b0", '#af0']} 
      ], 
     highlighter: { show: false } 
}); 

मेरे पास पहेली के साथ कुछ भी नहीं था, मैंने अभी इसे अपडेट किया है, इसलिए यह काम करता है। उम्मीद है कि यह किसी की मदद करता है (यह पता चला कि यह वह नहीं था जिसे मैं ढूंढ रहा था, लेकिन yer money & या आपकी संभावनाएं लेता है)।