2011-08-24 4 views
1

Je veux personnaliser mes graphiques dans mes rapports (en utilisant jasperReport et iReport 4.0), cette classe minimise l'échelle, comment puis-je ajouter de la valeur sur chaque barre et écrire la pertinence sur l'axe X verticalement parce qu'ils se chevauchent au tableau d'attachement c'est un bordel)?Quelles sont les étapes à suivre pour utiliser la classe de diagramme de personnalisation?

c'est la classe:

public class ChartCustomiser implements JRChartCustomizer{ 

@Override 
public void customize(JFreeChart jfc, JRChart jrc) { 

    CategoryPlot plot = (CategoryPlot)jfc.getPlot(); 
    ValueAxis verticalAxis = plot.getRangeAxis(); 
    TickUnits verticalTicks = new TickUnits(); 
    verticalTicks.add(new NumberTickUnit(1)); 
    verticalTicks.add(new NumberTickUnit(2)); 
    verticalTicks.add(new NumberTickUnit(5)); 
    verticalTicks.add(new NumberTickUnit(10)); 
    verticalAxis.setStandardTickUnits(verticalTicks); 
    throw new UnsupportedOperationException("Not supported yet."); 
} 
} 

enter image description here

Je veux un graphique ressemble à ceci:

enter image description here

+0

Pourquoi ne pas ['extends extends JRAbstractChartCustomizer'] (http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRAbstractChartCustomizer.html)? – trashgod

Répondre

1

vous pouvez essayer ceci:

NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis(); 
rangeAxis.setVerticalTickLabels(true); 
+0

+1 Cela devrait fonctionner; voici un exemple [http://stackoverflow.com/questions/5522575/how-can-i-update-a-jfreecharts-appearance-after-its-been-made-visible]. – trashgod

+0

@ lkdg, merci pour la réponse, mais je veux écrire la valeur sur X Axe verticalement pas l'axe Y Je vais mettre à jour mon poste avec une photo décrire ce que je veux – rym

Questions connexes