From: Nathaniel G. A. <nat...@ya...> - 2003-08-26 14:53:06
|
yes, I also added that code to the 'Patches' section of the jcharts sourceforge site. --- Vikram Rajan <Vi...@PL...> wrote: > Pal, > > > w.r.t. to the axis labels, there is a length allocated to each label and > jCharts calculates whether all labels can be fitted into the charts. If not, > the labels are displayed selectively - alternate labels may be displayed, or > every third label may be displayed, or every fourth ... depending on the > size of the label. The size of the label is a function of the font size, > font and the number of characters in the label string. > > There is a code submission in the developer's list which will help you get > around the label problem by truncating labels and appending a "..." to them. > It will also let you image map the label text so that when the user does a > mouse over on the label, the complete string will be displayed. > > hope this helps, > Vikram > > -----Original Message----- > From: Pal Perinbam [mailto:pal...@ya...] > Sent: Tuesday, August 26, 2003 7:07 PM > To: jch...@li... > Subject: [jCharts-users] Problems in Barchart and Line Chart > > > > Hi, > > As I told you earlier, I herewith send the code sample. > > Please run this by setting font size in the code. > > > We are using Jcharts to generate charts for our project. We have a problem > while printing the charts. The charts are fine on the > > screen but when we print that it looks blurred. We suspect it may be due to > the Jpeg encoding. We encode the chart object into jpeg image > > using the Jpegencoder13 provided with jcharts. Is there a way to create BMP > or any other high quality image from jcharts, or can we improve > > image quality by some other means. > > We also face another problem. When we increase the X Axis label font size > of a line chart or bar chart, most of the Xaxis labels > > disappear. I've attached a sample to simulate this. In the below Sample. the > chart is fine when the font size is 10, but when it is changed to 11 > > the labels disappear. > > Expecting your earliest reply. > > import org.jCharts.properties.LegendProperties; > import org.jCharts.properties.ChartProperties; > import org.jCharts.properties.util.ChartStroke; > import org.jCharts.properties.util.ChartFont; > import org.jCharts.properties.BarChartProperties; > import org.jCharts.properties.AxisProperties; > import org.jCharts.properties.DataAxisProperties; > import org.jCharts.chartData.AxisChartDataSet; > import org.jCharts.chartData.interfaces.IAxisDataSeries; > import org.jCharts.chartData.DataSeries; > import org.jCharts.axisChart.AxisChart; > import org.jCharts.types.ChartType; > import org.jCharts.encoders.JPEGEncoder13; > import java.awt.Color; > import java.awt.Paint; > import java.awt.Font; > import java.awt.BasicStroke; > import java.io.FileOutputStream; > > class createBarChart > { > public static void main(String[] args) > { > try { > int fontSize=10; //Font Size > int width = 300; > int height = 200; > > > LegendProperties legendProperties=null; > ChartProperties chartProperties = new ChartProperties(); > AxisProperties axisProperties = new AxisProperties( false ); > FileOutputStream objFOS = new FileOutputStream("mychart.jpg"); > > ChartFont axisScaleFont = new ChartFont( new Font( "Arial", > Font.PLAIN,fontSize), Color.black ); > ChartStroke CSAxis = new ChartStroke(new BasicStroke(1.0f),Color.black); > > axisProperties.getXAxisProperties().setScaleChartFont(axisScaleFont); > axisProperties.getXAxisProperties().setShowEndBorder(false); > axisProperties.getXAxisProperties().setPaddingBetweenXAxisLabels(0f); > axisProperties.getXAxisProperties().setAxisStroke(CSAxis); > > axisProperties.getXAxisProperties().setShowGridLines(DataAxisProperties.GRID > _LINES_NONE); > axisProperties.getYAxisProperties().setScaleChartFont(axisScaleFont); > axisProperties.getYAxisProperties().setShowEndBorder(false); > axisProperties.getYAxisProperties().setAxisStroke(CSAxis); > > axisProperties.getYAxisProperties().setShowGridLines(DataAxisProperties.GRID > _LINES_NONE); > > String title=null; > String[] legendLabels = {" "}; > Paint[] paints = new Paint[]{Color.blue}; > double[][] data = new double[][]{{2.4305638 , 76.2283304 , 59.5653992 > > , 12.9185693 , -94.4018601 , 41.8006188 , 45.009868 , > > -63.0464611 , 0.4272433 , 17.0886599 , 48.8614666 , 89.5960671 > > , 44.107602 , 1.8919965 , -22.7345809 , 97.4517988 , > > 95.248644 , 58.0654687 , 82.1011746 , 36.7686102 , 25.6530842 > > , 60.0724961 , -93.1170484 , 23.6652036 , 37.0968087 , > > 48.8910213 , 79.85264 , 53.9105076, 95.248644 , 58.0654687 , > > 82.1011746 , 36.7686102 , 59.5653992 , 12.9185693 , -94.4018601 , > > 41.8006188, 0.4272433 , 17.0886599 , 48.8614666 , 89.5960671}}; > String[] xAxisLabels = {"93"," "," "," ","94"," "," "," ","95"," "," "," > ","96"," "," "," ","97"," "," "," ","98"," "," "," ","99"," > > "," "," ","00"," "," "," ","01"," "," "," ","02"," "," "," "}; > > DataAxisProperties dataAxisProperties = (DataAxisProperties) > axisProperties.getYAxisProperties(); > dataAxisProperties.setUserDefinedScale(-100,50); > dataAxisProperties.setNumItems(5); > dataAxisProperties.setShowZeroLine(true); > > BarChartProperties barChartProperties = new BarChartProperties(); > barChartProperties.setShowOutlinesFlag(false); > String xAxisTitle = null; > String yAxisTitle = null; > IAxisDataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, > yAxisTitle, title ); > dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, > paints, ChartType.BAR, > > barChartProperties ) ); > AxisChart axisChart = new AxisChart( dataSeries, chartProperties, > axisProperties, legendProperties, width, > > height ); > > JPEGEncoder13.encode( axisChart, 1.0f, objFOS ); > } > catch( Exception exp ) > { > exp.printStackTrace(); > } > } > } > > > Thanks, > Pal > > > > > > _____ > > Do you Yahoo!? > SBC > <http://pa.yahoo.com/*http://rd.yahoo.com/evt=1207/*http://promo.yahoo.com/s > bc/> Yahoo! DSL - Now only $29.95 per month! > > ===== http://nathaniel-auvil.blog-city.com/ __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |