2010-03-23 58 views
7

Cualquiera que tenga experiencia en el uso de JFreeChart, existe una forma de cambiar el color de mis etiquetas para mis ejes XY. En este momento estoy usando un XYPlot y quiero cambiar el color de las etiquetas en mis ejes. ¿Hay alguna forma de hacer esto?Cambio del color de las etiquetas en JFreeChart

Respuesta

8

Debería poder usar setTickLabelPaint() en el Axis deseado.

+1

Gracias, respondió mi pregunta. Para cualquier otra persona con este problema, me quedé un poco atrapado con el hecho de que getDomainAxis() de XYPlot devuelve un ValueAxis. Pero miré la documentación y me di cuenta de que Valueaxis es una clase infantil de Axis. – Albinoswordfish

+1

Excelente. Una buena característica de 'JFreeChart' es que los documentos API se crean con la opción' linksource', por lo que puede navegar haciendo clic en los nombres. – trashgod

+0

¿Es posible cambiar el color de la pintura dentro de una etiqueta? P.ej. primera palabra de la etiqueta en negro y la segunda palabra en gris? – CGFoX

0

que utiliza este código para cambiar el color de todos mis etiquetas:

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); 
} 

Si utiliza subtítulos, es necesario agregar también.

Cuestiones relacionadas