How to use SymbolicAxis? - Urgent

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
guest123
Posts: 6
Joined: Thu Sep 01, 2005 12:02 am

How to use SymbolicAxis? - Urgent

Post by guest123 » Thu Sep 01, 2005 12:08 am

Hi,
I am trying to use SymbolicAxis to replace x-axis labels from double to string. It is not replacing existing labels.
Here is code segment.

Code: Select all

// Create SymbolicAxis
String[] str = new String[]{"jan", "feb", "mar","apr", "may", "jun","jul", "aug", "sep","oct", "nov", "dec"};

org.jfree.chart.axis.SymbolicAxis newAxis = new org.jfree.chart.axis.SymbolicAxis("Month",str); 

newAxis.setSymbolicGridLinesVisible(true);
newAxis.setTickLabelsVisible(true); 

// Create XYSeries 
XYSeries series = new XYSeries("Test Data"); 
		series.add(1, 10); 
		series.add(2, 20); 
		series.add(3, 40); 
		series.add(4, 50); 
		series.add(5, 45); 
		series.add(6, 41); 
		series.add(7, 54); 
		series.add(8, 32); 
		series.add(9, 35); 
		series.add(10,39); 
		series.add(11,41); 
		series.add(12,44); 		


// Create XYBar
		org.jfree.chart.renderer.xy.XYBarRenderer xyBarRenderer1 = new org.jfree.chart.renderer.xy.XYBarRenderer(0.04); 	
	
		XYDataset data = new XYSeriesCollection(series); 


		ValueAxis numberaxis1 = new NumberAxis("Value"); 

// Create Plot
		final XYPlot p = new XYPlot(data, newAxis, numberaxis1, xyBarRenderer1); 	



Can someone please help me understand what is missing here?
Thanks

david.gilbert
JFreeChart Project Leader
Posts: 11734
Joined: Fri Mar 14, 2003 10:29 am
antibot: No, of course not.
Contact:

Post by david.gilbert » Thu Sep 01, 2005 9:27 am

The SymbolicAxis was contributed by another developer who wrote it for a very specific purpose. It replaces integers in the sequence (0, 1, 2, 3 ...) with the supplied labels. So the first problem I notice is that your number sequence is (1, 2, 3, 4 ...).
David Gilbert
JFreeChart Project Leader

:idea: Read my blog
:idea: Support JFree via the Github sponsorship program

guest123
Posts: 6
Joined: Thu Sep 01, 2005 12:02 am

Post by guest123 » Thu Sep 01, 2005 3:55 pm

David,
I made change to the data and it starts with zero but seems like it is not helping.

Code: Select all

		String[] str = new String[]{"jan", "feb", "mar","apr", "may", "jun","jul", "aug", "sep","oct", "nov", "dec"};

		System.out.println("Initializing Symbolic");

		org.jfree.chart.axis.SymbolicAxis newAxis = new org.jfree.chart.axis.SymbolicAxis("Month",str); 

		newAxis.setSymbolicGridLinesVisible(true);
		
		newAxis.setTickLabelsVisible(true); 


		
		XYSeries series = new XYSeries("Test Data"); 
		series.add(0, 1); 
		series.add(1, 10); 
		series.add(2, 20); 
		series.add(3, 40); 
		series.add(4, 50); 
		series.add(5, 45); 
		series.add(6, 41); 
		series.add(7, 54); 
		series.add(8, 32); 
		series.add(9, 35); 
		series.add(10,39); 
		series.add(11,41); 
//		series.add(12,44); 		// CHANGE I MADE


		org.jfree.chart.renderer.xy.XYBarRenderer xyBarRenderer1 = new org.jfree.chart.renderer.xy.XYBarRenderer(0.04); 	
	
		XYDataset data = new XYSeriesCollection(series); 


		ValueAxis numberaxis1 = new NumberAxis("Value"); 

		final XYPlot p = new XYPlot(data, newAxis, numberaxis1, xyBarRenderer1); 		
        return new JFreeChart("Symbolic axis", JFreeChart.DEFAULT_TITLE_FONT, p, true); 
Any other suggestions? Help?
Thanks

tdk
Posts: 19
Joined: Mon Aug 29, 2005 3:17 pm
Location: Germany
Contact:

Post by tdk » Thu Sep 01, 2005 4:28 pm

what package do you use? SymbolicAxis has been renamed SymbolAxis in 1.0.0.rc1.

thomas

guest123
Posts: 6
Joined: Thu Sep 01, 2005 12:02 am

Post by guest123 » Thu Sep 01, 2005 6:24 pm

Thomas,
I am using jfreechart-1.0.0-rc1. I am not able to find SymbolAxis in this package. Any other place to get it?
Do you any working code that I can execute on my machine to see if it works?
Any other suggestions/help?
Thanks

guest123
Posts: 6
Joined: Thu Sep 01, 2005 12:02 am

Post by guest123 » Fri Sep 02, 2005 4:45 am

Any help/suggestion from any expert?

tdk
Posts: 19
Joined: Mon Aug 29, 2005 3:17 pm
Location: Germany
Contact:

Post by tdk » Fri Sep 02, 2005 7:05 am

you'll find it in the source zip file.

thomas

tdk
Posts: 19
Joined: Mon Aug 29, 2005 3:17 pm
Location: Germany
Contact:

Post by tdk » Fri Sep 02, 2005 7:50 am

oops, sorry i was mistaken. you'll find it in the CVS tree at
http://cvs.sourceforge.net/viewcvs.py/j ... &view=auto

that version works fine for me!

thomas

david.gilbert
JFreeChart Project Leader
Posts: 11734
Joined: Fri Mar 14, 2003 10:29 am
antibot: No, of course not.
Contact:

Post by david.gilbert » Fri Sep 02, 2005 11:31 am

Oops, I remember now. There was a bug, fixed here:

http://cvs.sourceforge.net/viewcvs.py/j ... ABLE_1-0-0
David Gilbert
JFreeChart Project Leader

:idea: Read my blog
:idea: Support JFree via the Github sponsorship program

Guest

Post by Guest » Fri Sep 02, 2005 1:06 pm

hmm, what is it SymbolicAxis or SymbolAxis?

the following is a snippet of comment form SymbolAxis:
* 06-Jul-2005 : Renamed SymbolicAxis --> SymbolAxis, added equals() method,...
thomas

david.gilbert
JFreeChart Project Leader
Posts: 11734
Joined: Fri Mar 14, 2003 10:29 am
antibot: No, of course not.
Contact:

Post by david.gilbert » Fri Sep 02, 2005 1:23 pm

It's renamed for the next release - I did this while tidying up and documenting the class. I also removed the SymbolicTickUnit class, which isn't required.
David Gilbert
JFreeChart Project Leader

:idea: Read my blog
:idea: Support JFree via the Github sponsorship program

guest123
Posts: 6
Joined: Thu Sep 01, 2005 12:02 am

Post by guest123 » Fri Sep 02, 2005 3:29 pm

Thank you very much guys.
I made modification to SymbolicAxis.java and It is working now.

Thanks.

Locked