关于jfreechart奇怪问题 jfreechart的问题,我画出了Y轴的刻度线,但是怎么也出不来X轴的刻度线。请教各位有什么方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那只能参考正确的demo了http://topic.csdn.net/u/20081005/17/ee32af1e-fbe0-4cb8-b7ec-5102d431c292.html 再次简化下我的问题,我做的是AreaChart图,我想在X轴也就是分类轴上象数据轴那样显示刻度.我查了很多资料,好象还没有人解决这个问题.希望大家帮帮忙!谢谢! 这几天JFreeChart的问题特别多啊,呵呵。代码如下:package demo;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartFrame;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.DefaultCategoryDataset;public class AreaChartDemo { public static void main(String[] args) { //以哥哥和弟弟的身高为例 //假如哥哥10岁时身高120cm,15岁时身高170cm,20岁时身高180cm //而他弟弟10岁时身高110cm,15岁时身高155cm,20岁时身高170cm //你所感兴趣的,X轴的刻度 String[] xLabels = {"10岁", "15岁", "20岁"}; //不同年龄段 // String[] category = {"哥哥", "弟弟"}; Number[][] data = new Integer[][] { { 120, 170, 180 }, //哥哥不同年龄段的身高 { 110, 155, 170 } //弟弟不同年龄段的身高 }; DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for (int r = 0; r < data.length; r++) { for (int c = 0; c < data[r].length; c++) { dataset.addValue(data[r][c], category[r], xLabels[c]); } } JFreeChart chart = ChartFactory.createAreaChart("兄弟身高比较图", "年龄(岁)", "身高(cm)", dataset, PlotOrientation.VERTICAL, true, true, false); // ChartFrame frame = new ChartFrame("AreaChart示例", chart); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); }} 运行效果见后。不知道是不是你想要的效果?附带说两句:1、如果你想让X轴(年龄)是可以动态添加的,那么可以参考我的另外一段代码:http://topic.csdn.net/u/20081005/17/ee32af1e-fbe0-4cb8-b7ec-5102d431c292.html第2楼的代码。2、如果你想改变的是此例中的Y轴(身高)的坐标,则只能改JFreeChart的源代码啦。 PS:如果弟弟的身高超过哥哥,为了避免底下的哥哥的图形被遮盖,你可以设置图形的透明度: CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setForegroundAlpha(0.5f);//半透明,以免完全遮盖 首先非常感谢accp206大哥的回答,当然还有上面几位的。我想要的效果就是在accp206的效果图的X轴上加一个刻度线,即年龄也像身高那样有刻度线。这个好像JFREE的官方网站上都没有,也没有给例子。 关于小数点后四舍五入保留小数的方法 求教:如何用Java生成下面内容的XML文件?求源码~ 正则表达式问题,急急急急!!!! 我们在做java开发的时候有jdk文档可以参考,在c或者C++开发的时候有类似的文档吗? java swing 请教一个方法 急求大家帮忙一下啊 求JB8D的激活文件 连接MYSQL数据库问题 江湖救急:JBUILDER4.0的注册号和KEY!!多谢了!!! 十万火急的问题! 请问这个需求的sql怎么写呀? 多谢!
http://topic.csdn.net/u/20081005/17/ee32af1e-fbe0-4cb8-b7ec-5102d431c292.html
package demo;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class AreaChartDemo {
public static void main(String[] args) {
//以哥哥和弟弟的身高为例
//假如哥哥10岁时身高120cm,15岁时身高170cm,20岁时身高180cm
//而他弟弟10岁时身高110cm,15岁时身高155cm,20岁时身高170cm
//你所感兴趣的,X轴的刻度
String[] xLabels = {"10岁", "15岁", "20岁"}; //不同年龄段
//
String[] category = {"哥哥", "弟弟"};
Number[][] data = new Integer[][] {
{ 120, 170, 180 }, //哥哥不同年龄段的身高
{ 110, 155, 170 } //弟弟不同年龄段的身高
}; DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int r = 0; r < data.length; r++) {
for (int c = 0; c < data[r].length; c++) {
dataset.addValue(data[r][c], category[r], xLabels[c]);
}
} JFreeChart chart = ChartFactory.createAreaChart("兄弟身高比较图", "年龄(岁)", "身高(cm)", dataset, PlotOrientation.VERTICAL, true, true, false);
//
ChartFrame frame = new ChartFrame("AreaChart示例", chart);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}}
1、如果你想让X轴(年龄)是可以动态添加的,那么可以参考我的另外一段代码:http://topic.csdn.net/u/20081005/17/ee32af1e-fbe0-4cb8-b7ec-5102d431c292.html第2楼的代码。
2、如果你想改变的是此例中的Y轴(身高)的坐标,则只能改JFreeChart的源代码啦。
如果弟弟的身高超过哥哥,为了避免底下的哥哥的图形被遮盖,你可以设置图形的透明度: CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setForegroundAlpha(0.5f);//半透明,以免完全遮盖