2010-03-23 11 views
7

में लेबल का रंग बदलना कोई भी जिसके पास JFreeChart का उपयोग करने का अनुभव है, मेरे XY अक्षों के लिए मेरे लेबल का रंग बदलने का एक तरीका है। अभी मैं XYPlot का उपयोग कर रहा हूं और मैं अपने अक्षों पर लेबल का रंग बदलना चाहता हूं। क्या इसे करने का कोई तरीका है?JFreeChart

उत्तर

8

वांछित Axis पर आपको setTickLabelPaint() का उपयोग करने में सक्षम होना चाहिए।

private void setFontColor(Color fontColor) { 
    JFreeChart chart = getChart(); 
    chart.getTitle().setPaint(fontColor); 
    Plot plot = chart.getPlot(); 
    if (plot instanceof CategoryPlot) { 
     setAxisFontColor(((CategoryPlot) plot).getDomainAxis(), fontColor); 
     setAxisFontColor(((CategoryPlot) plot).getRangeAxis(), fontColor); 
    } else if (plot instanceof XYPlot) { 
     setAxisFontColor(((XYPlot) plot).getDomainAxis(), fontColor); 
     setAxisFontColor(((XYPlot) plot).getRangeAxis(), fontColor); 
    } 
} 

private void setAxisFontColor(Axis axis, Color fontColor) { 
    if (!fontColor.equals(axis.getLabelPaint())) 
     axis.setLabelPaint(fontColor); 
    if (!fontColor.equals(axis.getTickLabelPaint())) 
     axis.setTickLabelPaint(fontColor); 
} 

आप उपशीर्षक का उपयोग करते हैं, तो आप उन्हें भी जोड़ने की जरूरत:

+1

धन्यवाद मेरे प्रश्न का उत्तर दिया। इस समस्या के साथ किसी और के लिए मुझे इस तथ्य के साथ थोड़ा फंस गया कि XYPlot की getDomainAxis() एक ValueAxis देता है। लेकिन मैंने प्रलेखन को देखा और महसूस किया कि Valueaxis एक्सिस का एक बाल वर्ग है। – Albinoswordfish

+1

उत्कृष्ट। 'जेएफरी चार्ट' की एक अच्छी सुविधा यह है कि एपीआई दस्तावेज़ 'लिंकसोर्स' विकल्प के साथ बनाए जाते हैं, ताकि आप नामों पर क्लिक करके नेविगेट कर सकें। – trashgod

+0

क्या एक लेबल के भीतर पेंट रंग बदलना संभव है? जैसे काले रंग में लेबल का पहला शब्द और भूरे रंग में दूसरा शब्द? – CGFoX

0

मैं अपने सभी लेबल का रंग बदलने के लिए इस कोड को इस्तेमाल किया।

संबंधित मुद्दे