2011-08-03 5 views
3

J'ai quelques questions concernant les règles aberrantes dans JFreeChart:Règles aberrantes dans JFreeChart Boxplots?

  1. Est-il possible d'influencer les règles aberrantes dans un JFreeChart Boxplot?
  2. Je suppose que le paramètre par défaut pour les valeurs aberrantes est Q3 + 1.5 * IQR et Q1-1.5 * IQR?
  3. Existe-t-il une règle par défaut pour les valeurs extrêmes comme Q3 + 3 * IQR et Q1-3 * IQR?

  4. Peut-être que cela devrait être une question distincte, mais comment définir le symbole pour les valeurs aberrantes? Le paramètre par défaut est un cercle trop grand pour ma préférence.

Mes données est dans un DefaultBoxAndWhiskerCategoryDataset et je ne suis même pas sûr si je dois modifier les paramètres par défaut. Néanmoins, il serait bon de savoir ce que les paramètres par défaut sont;)

Répondre

2

Utilisez la source, Luke. DefaultBoxAndWhiskerCategoryDataset calcule les valeurs aberrantes et les BoxAndWhiskerRenderer correspondantes les dessine. Cliquez sur le lien de nom de classe pour voir le sourcecode.

+0

Qu'est-ce qu'il est supposé en faire? Est-ce qu'il doit créer son propre Renderer pour le faire? N'existe-t-il aucune méthode pour modifier le symbole des valeurs aberrantes? – CGFoX

+0

@CGFoX: Je ne vois aucune méthode pour modifier la forme des valeurs aberrantes; le 'BoxAndWhiskerCategoryDataset' contrôle le calcul; retourne une liste vide pour les cacher. – trashgod

+0

Les moustaches sont-elles calculées comme Q1-1,5 * IQR et Q3 + 1,5 * IQR? C'est ce qu'il me semble dans le code, mais je veux m'assurer. – CGFoX

2

L'emplacement réel où ces valeurs sont calculées se trouve dans la classe BoxAndWhiskerCalculator , dans la fonction BoxAndWhiskerCalculator.

En fait, les valeurs aberrantes sont les valeurs en dehors de la "plage régulière", définie comme la plage maximale définie par les valeurs entre Q1-2 * IQR et Q1-1.5 * IQR sur le côté inférieur et entre Q3 + 1,5 * IQR et Q3 + 2 * IQR sur le côté supérieur.

La plage des valeurs extrêmes pour les valeurs extrêmes est inférieure à Q1-2 * IQR ou supérieure à Q3 + 2 * IQR.

En modifiant ces critères dans la fonction mentionnée ci-dessus, vous pouvez modifier le comportement du tracé.

Les symboles sont dessinés dans la classe BoxAndWhiskerRenderer, en particulier dans les drawEllipse, drawMultipleEllipse, drawHighFarOut et drawLowFarOut méthodes.

+1

Alors, comment changez-vous réellement le symbole? – CGFoX