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 :

[JFreeChart] Problème avec le zoom sur certaines partie d'une courbe


Sujet :

2D Java

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut [JFreeChart] Problème avec le zoom sur certaines partie d'une courbe
    Bonjour,

    J'ai un petit problème avec le composant JFreeChart.
    Quand je souhaite zoomer une partie de la courbe du haut par exemple (segment de (15000,9 ; 37000, 60)), il n'y a pas de problème.
    Par contre quand je zoom une partie de la courbe du bas (segment de (43000,35 ; 15000;5.8)), le zoom est effectué mais ma courbe n'est pas réaffiché.

    Je n'ai rien trouvé à ce sujet. Voici mon bout de code de test :
    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
    73
    74
     
    import java.awt.Color;
     
    import javax.swing.JFrame;
     
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.axis.LogarithmicAxis;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.plot.XYPlot;
    import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
    import org.jfree.data.xy.XYSeries;
    import org.jfree.data.xy.XYSeriesCollection;
     
    public class TestJFreeChart {
     
    	public static void main(String[] args) {
    		createFrame();
    	}
     
    	private static void createFrame(){
    		JFrame fenetre = new JFrame();
     
    		// creation fenetre pour les tests
    		fenetre.setTitle("fenêtre de tests");
    		fenetre.setSize(700, 800);
    		fenetre.setLocationRelativeTo(null);
    		fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		// fin creation fenetre de test
     
    		// defini le Plot
    		XYPlot xyPlot = new XYPlot();
    		final PlotOrientation orientation = PlotOrientation.VERTICAL;
    		final LogarithmicAxis speedAxis = new LogarithmicAxis(null);
    		final LogarithmicAxis powerAxis = new LogarithmicAxis(null);
    		speedAxis.setAutoRange(true);
    		powerAxis.setAutoRange(true);
    		speedAxis.setAutoRangeIncludesZero(false);
    		powerAxis.setAutoRangeIncludesZero(false);
    		xyPlot.setDomainAxis(speedAxis);
    		xyPlot.setDomainPannable(true);
    		xyPlot.setRangeAxis(powerAxis);
    		xyPlot.setRangePannable(true);
    		xyPlot.setOrientation(orientation);
    		final XYLineAndShapeRenderer r = new XYLineAndShapeRenderer(true, false);
    		r.setSeriesShapesVisible(0, true);
    		r.setSeriesLinesVisible(0, true);
    		r.setSeriesPaint(0, Color.BLACK);
    		xyPlot.setRenderer(r);
     
    		// creation des courbes
    		final XYSeriesCollection xyDataset = new XYSeriesCollection();
    		XYSeries series = new XYSeries("test", false);
    		series.add(15000, 9);
    		series.add(37000, 60);
    		series.add(43000, 60);
    		series.add(43000, 35);
    		series.add(15000, 5.8);
    		xyDataset.addSeries(series);
    		xyPlot.setDataset(xyDataset);
     
    		JFreeChart chart  = new JFreeChart("Title", JFreeChart.DEFAULT_TITLE_FONT, xyPlot, false);
    		ChartPanel chartPnl = new ChartPanel(chart) {
    			private static final long serialVersionUID = 1L;
    			@Override
    			public void createChartPrintJob() {
    			}
    		};
     
            fenetre.setContentPane(chartPnl);
    		fenetre.setVisible(true);
    	}
     
    }

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut
    Sans réponse, je suis passé par un "bricolage" du composant : je défini X points supplémentaire entre chaque segment car quand on zoom si un point fait partie du zoom alors celui ci s'effectue correctement.

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

Discussions similaires

  1. Problème avec le zoom d'iphone sur un site
    Par bkadoum dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 10/03/2011, 10h13
  2. Problème avec les indexes sur une base de données.
    Par osoudee dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/02/2006, 09h24
  3. Problème avec ma connexion sur hotmail
    Par shukin dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 30/01/2006, 14h09
  4. Problème avec port Série sur Win XP
    Par alexorel dans le forum MFC
    Réponses: 9
    Dernier message: 27/10/2005, 15h32

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