IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Erreur JfreeChart : "Duplicate items in 'columnKeys'"


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut Erreur JfreeChart : "Duplicate items in 'columnKeys'"
    Bonjour à tous,

    Comme mon sujet l'indique, j'ai l'erreur suivante " Duplicate items in 'columnKeys' "

    sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
    				serviceNames, statNames, data);
    Dans cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    	private void printStatForMultipleService(
    			HashMap<Ref, ServiceResourceStatistic> resourcesMap) {
    		if (resourcesMap == null) {
    			System.out
    					.println("\nService statistics map is null...Nothing to print.\n");
    		}
    		if (resourcesMap.size() == 0) {
    			System.out
    					.println("\nService statistics map is empty...Nothing to print.\n");
    		}
    		// Transformation en set pour parcourir la map
    		Set<Map.Entry<Ref, ServiceResourceStatistic>> set = resourcesMap
    				.entrySet();
    		int nbService = set.size();
    		System.out.println("nb service : " + nbService);
    		int nbStats = getStatArrayForOneService(set.iterator().next()
    				.getValue()).length;
    		System.out.println("nb stats : " + nbStats);
    		String[] serviceNames = new String[nbService];
    		String[] statNames = new String[nbStats];
    		double[][] data = new double[nbService][nbStats];
    		// Parcours de la map
    		int i = 0;
    		for (Map.Entry<Ref, ServiceResourceStatistic> mapEntry : set) {
     
    			// Creation du tableau de stat pour chaque service
    			ResourceStatistic[] resStatsArray = null;
    			// Récupération des différentes statistiques sous forme d'Array
    			resStatsArray = getStatArrayForOneService(mapEntry.getValue());
     
    			int j = 0;
    			// Parcours du tableau de statistique
    			for (ResourceStatistic resStats : resStatsArray) {
    				// Récupération d'une des statistiques du tableau
    				StatisticValue[] statValues = resStats.getStatistics();
    				// Pärcours des valeurs de la statistiques
    				for (StatisticValue value : statValues) {
    					if (value.getType() == StatisticType.INTERVAL) {
    						StatisticValue.IntervalStatistic is = (StatisticValue.IntervalStatistic) value;
    						// Nom de la statistique
    						statNames[j] = resStats.getName();
    						// récupération de l'interval moyen
    						data[i][j] = is.getAverage();
     
    						j++;
    					}
    				}
    			}// Nom du service
    			serviceNames[i] = mapEntry.getKey().getNames()[mapEntry.getKey()
    					.getNames().length - 1];
    			i++;
    		}
     
    		// Creation du dataset
    		CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
    				serviceNames, statNames, data);
    		// Creation du multiple pie chart
    		JFreeChart chart = ChartFactory.createMultiplePieChart(
    				"Multiple Pie Chart", dataset, TableOrder.BY_ROW, true, true,
    				true);
    		// Sauvegarde sous format d'image en local
    		ChartRenderingInfo info = new ChartRenderingInfo(
    				new StandardEntityCollection());
    		File file1 = new File(this.idStat + ".jpeg");
    		try {
    			ChartUtilities.saveChartAsJPEG(file1, chart, 800, 600, info);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    	}
    Pour vous situer la méthode je passe en paramètre une hashmap qui contient
    une liste de service auquel sont attaché pour chacun une map de statistiques
    Dans cette map de statistiques il y a des nom de statistiques et une liste de valeur rattaché à chaque noms.
    Le but de ma méthode et d'à partir de cette map, récupéré pour chaque service. Tout les statistiques contenant un temps.
    De ce côté là le code est bon j'ai déjà vérifier.

    Pour exemple la map peut contenir

    Service 1
    ---> Statistique d'appel
    -------> nombre de fois
    -------> intervalle d'appel
    ---> Statistique de transport
    -------> nombre de fois
    -------> intervalle d'appel

    Service 2
    ---> Statistique d'appel
    -------> nombre de fois
    -------> intervalle d'appel
    ---> Statistique de transport
    -------> nombre de fois
    -------> intervalle d'appel

    Service 3
    ---> Statistique d'appel
    -------> nombre de fois
    -------> intervalle d'appel
    ---> Statistique de transport
    -------> nombre de fois
    -------> intervalle d'appel

    Et je voudrais en tirer un graph contenant 3 pie, et chaque pie contenant le nom du service pour un pie, et pour chaque catégorie le nom de la statistiques (ex: transport ou appel) et donc la valeur sera l'espace occupé par chaque catégorie dans le pie..

    Quelqu'un voit un problème dans mon code ?
    Merci d'avance.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut
    C'est bon j'ai compris l'erreur.

    En fait je descendait pas assez bas pour différencier le nom.
    Dans mon tableau de "statname" j'avais en effet des duplicats de nom.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur de Mysql "Duplicate entry '0' for key 1"
    Par Alexandrebox dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/02/2010, 16h54
  2. [D2006] Erreur de Compilation duplicate ressource
    Par SergioMaster dans le forum Delphi
    Réponses: 5
    Dernier message: 30/06/2007, 10h11
  3. [débutant] erreur "indice de liste hors limites(1)"
    Par lidouka dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo