永发信息网

请教jfreechart的问题

答案:1  悬赏:40  手机版
解决时间 2021-02-26 15:42
请教jfreechart的问题
最佳答案
1.我想把图例显示在图的左上角部分.
2.柱形图其实是由三部分组,支店总的改的,正常营收,额外营收(普通情况只有两部分,总的及实际的),这种柱形图怎么做,谢谢!!
3.另外要把图显示在jsp中,只有先生成图片,然后再显示吗?有没有更好的方法,能在jsp中传参数然后自动刷新显示.

第一个问题:图例显示在左上角是做不到的。可以显示在上,下,左,右。

因为在API中只能设置这几个位置,相信楼主这个问题应该来说不是最重要的吧。

第二个问题:

Java代码

public JFreeChart createStackedBarChart() {

double[][] data = new double[][] { { 10, 8, 12, 10, 40 },

{ 18, 12, 20, 10, 60 } };

String[] rowKeys = { "营收", "额外" };

String[] columnKeys = { "分店A", "分店B", "分店C", "分店D", "总店" };

CategoryDataset dataset = getBarData(data, rowKeys, columnKeys);

// 2:JFreeChart对象

JFreeChart chart = ChartFactory.createStackedBarChart("营业图", // 图表标题

"", // 目录轴的显示标签

"", // 数值轴的显示标签

dataset, // 数据集

PlotOrientation.VERTICAL, // 图表方向:水平、垂直

true, // 是否显示图例(对于简单的柱状图必须是false)

false, // 是否生成工具

false // 是否生成URL链接

);

chart.setTextAntiAlias(false);

chart.setBackgroundPaint(Color.WHITE);

chart.setTitle(new TextTitle("营业图", new Font("隶书", Font.BOLD, 25)));

Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);

// 2 .3 Plot 对象 Plot 对象是图形的绘制结构对象

CategoryPlot plot = chart.getCategoryPlot();

plot.setRangeGridlinesVisible(true);

plot.setRangeGridlinePaint(Color.gray);

NumberAxis vn = (NumberAxis) plot.getRangeAxis();

vn.setUpperBound(200);

DecimalFormat df = new DecimalFormat("000");

vn.setNumberFormatOverride(df); // 数据轴数据标签的显示格式

// DomainAxis (区域轴,相当于 x 轴), RangeAxis (范围轴,相当于 y 轴)

CategoryAxis domainAxis = plot.getDomainAxis();

domainAxis.setLabelFont(labelFont);// 轴标题

domainAxis.setTickLabelFont(labelFont);// 轴数值

domainAxis.setMaximumCategoryLabelWidthRatio(0.6f);

plot.setDomainAxis(domainAxis);

// y轴设置

ValueAxis rangeAxis = plot.getRangeAxis();

rangeAxis.setLabelFont(labelFont);

rangeAxis.setTickLabelFont(labelFont);

// 设置最高的一个 Item 与图片顶端的距离

rangeAxis.setUpperMargin(0.15);

// 设置最低的一个 Item 与图片底端的距离

rangeAxis.setLowerMargin(0.15);

plot.setRangeAxis(rangeAxis);

// Renderer 对象是图形的绘制单元

StackedBarRenderer renderer = new StackedBarRenderer();

// 设置柱子宽度

renderer.setMaximumBarWidth(0.05);

// 设置柱子高度

renderer.setMinimumBarLength(0.1);

// 设置柱的边框颜色

renderer.setBaseOutlinePaint(Color.BLACK);

// 设置柱的边框可见

renderer.setDrawBarOutline(true);

renderer.setSeriesPaint(0, new Color(204, 255, 204));

renderer.setSeriesPaint(1, new Color(255, 204, 153));

renderer.setItemMargin(0.4);

renderer

.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());

renderer.setBaseItemLabelsVisible(true);

plot.setRenderer(renderer);

return chart;

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
根据《水工建筑物岩石基础开挖工程施工技术规
双汇冷鲜肉批零中心(太湖县动物卫生监督所北)
镶溪桥怎么去啊,有知道地址的么
场区平面控制网按类型分为()。A.方格网B.边角
宏达文化用品地址有知道的么?有点事想过去
英语中关于fire的巧妙用法?
身高1.70体重140应该穿4xl还是6xl的裤子
牛肚菌种植技术
老官台分场在哪里啊,我有事要去这个地方
洪湖电动汽车金彭的电瓶寿命有多长
女朋友不成熟,总是在别人面前说我的不好,我
where is Bob now Jack
王宝强送马蓉那辆法拉利458车牌号多少
新日升机电轴承公司这个地址在什么地方,我要
卧室突然出现一条小蛇是什么意思
推荐资讯
剑侠情缘手游哪个地图能找到曼殊沙华
现在刷强烈的气息哪里最多
谁玩天空之舞19区啊?
#儿时疑惑#为什么走路,月亮也跟着走
中国建设银行门头沟支行地址在什么地方,想过
OPPOr7s的手机屏幕是一体的吗?
乌伊岭到佳木斯的客车时刻表
英尔健动感单车好吗
准备考研,但是大学成绩单不见了怎么办?
步步高y18手机用南牙怎么传东西在另一个手机
凤凰传奇KTV地址在哪,我要去那里办事
狗狗总把水盆闹翻了怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?