社区
Java EE
帖子详情
jfreechart如何在一个图中实现柱状图与曲线图的混合
sunpan1980
2006-07-05 11:47:40
各位高手,小弟最近做个项目,需要在一副图中显示柱状图与曲线图,不知调用那一个方法,比如画折线用createLineChart
...全文
504
1
打赏
收藏
jfreechart如何在一个图中实现柱状图与曲线图的混合
各位高手,小弟最近做个项目,需要在一副图中显示柱状图与曲线图,不知调用那一个方法,比如画折线用createLineChart
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
javapassion
2006-07-05
打赏
举报
回复
仿照这个做:
package demo;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.*;
import org.jfree.chart.block.*;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.title.CompositeTitle;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.*;
public class DualAxisDemo1 extends ApplicationFrame
{
public DualAxisDemo1(String s)
{
super(s);
JFreeChart jfreechart = createChart();
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartpanel);
}
private static CategoryDataset createDataset1()
{
String s = "S1";
String s1 = "S2";
String s2 = "S3";
String s3 = "Category 1";
String s4 = "Category 2";
String s5 = "Category 3";
String s6 = "Category 4";
String s7 = "Category 5";
String s8 = "Category 6";
String s9 = "Category 7";
String s10 = "Category 8";
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(1.0D, s, s3);
defaultcategorydataset.addValue(4D, s, s4);
defaultcategorydataset.addValue(3D, s, s5);
defaultcategorydataset.addValue(5D, s, s6);
defaultcategorydataset.addValue(5D, s, s7);
defaultcategorydataset.addValue(7D, s, s8);
defaultcategorydataset.addValue(7D, s, s9);
defaultcategorydataset.addValue(8D, s, s10);
defaultcategorydataset.addValue(5D, s1, s3);
defaultcategorydataset.addValue(7D, s1, s4);
defaultcategorydataset.addValue(6D, s1, s5);
defaultcategorydataset.addValue(8D, s1, s6);
defaultcategorydataset.addValue(4D, s1, s7);
defaultcategorydataset.addValue(4D, s1, s8);
defaultcategorydataset.addValue(2D, s1, s9);
defaultcategorydataset.addValue(1.0D, s1, s10);
defaultcategorydataset.addValue(4D, s2, s3);
defaultcategorydataset.addValue(3D, s2, s4);
defaultcategorydataset.addValue(2D, s2, s5);
defaultcategorydataset.addValue(3D, s2, s6);
defaultcategorydataset.addValue(6D, s2, s7);
defaultcategorydataset.addValue(3D, s2, s8);
defaultcategorydataset.addValue(4D, s2, s9);
defaultcategorydataset.addValue(3D, s2, s10);
return defaultcategorydataset;
}
private static CategoryDataset createDataset2()
{
String s = "S4";
String s1 = "Category 1";
String s2 = "Category 2";
String s3 = "Category 3";
String s4 = "Category 4";
String s5 = "Category 5";
String s6 = "Category 6";
String s7 = "Category 7";
String s8 = "Category 8";
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(15D, s, s1);
defaultcategorydataset.addValue(24D, s, s2);
defaultcategorydataset.addValue(31D, s, s3);
defaultcategorydataset.addValue(25D, s, s4);
defaultcategorydataset.addValue(56D, s, s5);
defaultcategorydataset.addValue(37D, s, s6);
defaultcategorydataset.addValue(77D, s, s7);
defaultcategorydataset.addValue(18D, s, s8);
return defaultcategorydataset;
}
private static JFreeChart createChart()
{
JFreeChart jfreechart = ChartFactory.createBarChart("Dual Axis Chart", "Category", "Value", createDataset1(), PlotOrientation.VERTICAL, false, true, false);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
categoryplot.setBackgroundPaint(new Color(238, 238, 255));
categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
CategoryDataset categorydataset = createDataset2();
categoryplot.setDataset(1, categorydataset);
categoryplot.mapDatasetToRangeAxis(1, 1);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
NumberAxis numberaxis = new NumberAxis("Secondary");
categoryplot.setRangeAxis(1, numberaxis);
LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
lineandshaperenderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
categoryplot.setRenderer(1, lineandshaperenderer);
categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
LegendTitle legendtitle = new LegendTitle(categoryplot.getRenderer(0));
legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
legendtitle.setBorder(new BlockBorder());
LegendTitle legendtitle1 = new LegendTitle(categoryplot.getRenderer(1));
legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
legendtitle1.setBorder(new BlockBorder());
BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
blockcontainer.add(legendtitle, RectangleEdge.LEFT);
blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
blockcontainer.add(new EmptyBlock(2000D, 0.0D));
CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
compositetitle.setPosition(RectangleEdge.BOTTOM);
jfreechart.addSubtitle(compositetitle);
return jfreechart;
}
public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart();
return new ChartPanel(jfreechart);
}
public static void main(String args[])
{
DualAxisDemo1 dualaxisdemo1 = new DualAxisDemo1("Dual Axis Demo 1");
dualaxisdemo1.pack();
RefineryUtilities.centerFrameOnScreen(dualaxisdemo1);
dualaxisdemo1.setVisible(true);
}
}
JFreeChart
绘图
JFreeChart
主要用来各种各样的图表,这些图表包括:饼图、
柱状图
(普通
柱状图
以及堆栈
柱状图
)、线图、区域图、分布图、
混合
图、甘特图以及一些仪表盘等等。
java画折线图和
柱状图
结合的综合图(用
jfreechart
)
java画折线图和
柱状图
结合的综合图(用
jfreechart
)
JFreeChart
展示
柱状图
和折线图的组合
笔者最近工作需要在Web前端展示统计图表(基于SSH架构),使用了
JFreeChart
和amchart两个控件,谈谈使用心得。
JFreeChart
的最大好处是可以在Server端保存jpg图片,并且前端代码简单,各浏览器兼容性好,但是相对...
jfreechart
生成折线图,饼图,
柱状图
,堆栈
柱状图
最近公司使用
jfreechart
来生成统计图,使用了可以绘制pie charts 饼图,bar charts
柱状图
,line and area charts
曲线图
,scatter plots and bubble charts 散列图,time series 时序图,Area Charts区域图,Difference ...
用
jfreechart
画折线图
JFreeChart
是开放源代码站点SourceForge.net 上的
一个
JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图、
柱状图
( 普通
柱状图
以及堆栈
柱状图
)、线图、区域图、分布图、
混合
图、甘特图以及一些仪表盘等等...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章