Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2011, 12h51   #1
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 225
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 225
Points : 73
Points : 73
Par défaut Personnalisation d'un PieChart dans un plugin java

Bonjour,

je suis en train de développer un plugin java pour eclipse, où je présente des données sous forme d'un PieChart.
Ces données sont gérées et transmises par ce même plugin.

Je construit une collection d'Objects qui contiennent mes données et que je passe à un ChartWithoutAxes, via des TextDataSet, des Series et des PieSeries, j'ai chopé un exemple je suis pas sure de tout comprendre : voici un bout de mon code :
Code :
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
73
 
ChartWithoutAxes cwoaPie = ChartWithoutAxesImpl.create( );
cwoaPie.setSeriesThickness( 20 );
cwoaPie.getBlock( ).setBackground( ColorDefinitionImpl.WHITE( ) );
		cwoaPie.setDimension(ChartDimension.TWO_DIMENSIONAL_WITH_DEPTH_LITERAL);
 
// Plot
Plot p = cwoaPie.getPlot( );
p.getClientArea( ).setBackground( null );
p.getClientArea( ).getOutline( ).setVisible( false );
 
// Legend
Legend lg = cwoaPie.getLegend( );
lg.getOutline( ).setVisible( false );
lg.getText( ).getFont( ).setSize( 8 );
lg.getClientArea().setBackground(ColorDefinitionImpl.create(255, 255, 204));
		((ColorDefinitionImpl)lg.getClientArea().getBackground()).brighter();
lg.setAnchor(Anchor.NORTH_LITERAL);
lg.setItemType( LegendItemType.CATEGORIES_LITERAL );
 
// Title
cwoaPie.getTitle( ).getLabel( ).getCaption( ).setValue(title);
cwoaPie.getTitle( ).getOutline( ).setVisible( false );
 
//Base Data Set
List<String> textLabels = new ArrayList<String>();
for (DataObject obj : objData) {
		//String label = nameField.getValue(obj);
		String label = obj.nameSection;
		textLabels.add(label);
}
TextDataSet categoryValues = TextDataSetImpl.create(textLabels );
 
// Base Series
Series seCategory = SeriesImpl.create( );
seCategory.setDataSet( categoryValues );
 
SeriesDefinition sdBase = SeriesDefinitionImpl.create( );
cwoaPie.getSeriesDefinitions( ).add( sdBase );
sdBase.getSeriesPalette( ).shift( -1 );
sdBase.getSeries( ).add( seCategory );
 
SeriesDefinition sdValue = SeriesDefinitionImpl.create( );
sdBase.getSeriesDefinitions( ).add( sdValue );
 
List<Double> doubleValues = new ArrayList<Double>();
or (DataObject obj : objData) {
		doubleValues.add(obj.size);
}
 
NumberDataSet Values = NumberDataSetImpl.create(doubleValues);
 
// Pie Series
PieSeries sePie = (PieSeries) PieSeriesImpl.create( );
sePie.setSeriesIdentifier( "fnfn");
sePie.setExplosion(3);
sePie.setDataSet( Values );
sePie.getLabel().getCaption().getFont().setSize(8);
		sePie.setLeaderLineStyle(LeaderLineStyle.FIXED_LENGTH_LITERAL);
sePie.setLeaderLineLength(15);
 
DataPointComponent dpc = DataPointComponentImpl.create( DataPointComponentType.ORTHOGONAL_VALUE_LITERAL,
		JavaNumberFormatSpecifierImpl.create( "###.###,00" ) );
sePie.getDataPoint( ).getComponents( ).clear( );
sePie.getDataPoint( ).getComponents( ).add( dpc );		
 
//By default the title of the Value Series is not visible
sePie.getTitle().setVisible(false);
 
//Mouse over the Serie to Show Tooltips
setTriggering(sePie,lg);
 
sdValue.getSeries( ).add( sePie);
ça marche super bien j'affiche bien mon Chart (CF : image jointe) avec mes données en entrée !

Je voudrais un peu customiser tout ça :
J'ai 2 types de données ex : 5 données "de type 1" et 10 données "de type 2", je voudrais dans un même PieChart, afficher un 1er quartier "de type 1" qui contient 5 sous quartiers avec des couleurs froides et un 2eme quartier "de type 2" contenant lui 10 sous quartiers avec des couleurs chaudes, le tout représentant un PieChart.

comment faire pour spécifier ça ?
Une piste ?

Chris
Images attachées
Type de fichier : jpg PieChart.JPG (31,6 Ko, 5 affichages)
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 08h12   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Modifier la palette à la volée serait faisable (soit en Java, soit en scripts).
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 08h35   #3
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 225
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 225
Points : 73
Points : 73
bonjour !

est-ce que tu peux être plus explicite ?
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 08h37   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Regarde un peu par ici : http://www.developpez.net/forums/d75...miser-palette/
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 08h51   #5
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 225
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 225
Points : 73
Points : 73
J'ai du louper quelquechose... je crée mon chart par code et non avec un designer (d'ailleurs je sais même comment on y a accès ?).
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 09h26   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Tu génères uniquement l'image du Chart, c'est ça ?

Pour en revenir à nos moutons...

Tu peux faire :
Code Java :
1
2
3
4
5
EList<SeriesDefinition> series = cwoaPie.getSeriesDefinition();
for (SeriesDefinition serie : series) {
    // Rajouter une boucle pour chaque couleur
    serie.getSeriesDefinition().getSeriesPalette().getEntries()[i].set( 242, 88, 106, 128 );
}
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 09h40   #7
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 225
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 225
Points : 73
Points : 73
voui c'est ça !

Mais ya moyen de générer quoi d'autres ?
Il me semble que je suis passée à coté d'un truc là ...

En fait j'utilise BIRT comme une librairie graphique me permettant de visualiser des données sous une forme sympa, j'explore peut-etre que une toute petite partie de BIRT ???

Merci pour la piste, je vais regarder et te tiens au courant !
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h12   #8
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Si tu veux voir une partie des possibilités que l'on peut faire avec un Chart en BIRT, je te suggère de télécharger le BIRT RCP Designer et de créer un nouveau rapport avec un Chart. Ca te permettra de tester les possibilités mais ça ne s'arrête pas aux options visibles. En script, on peut multiplier les fonctionnalités.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h07.


 
 
 
 
Partenaires

Hébergement Web