JFreeChart(七)之气泡图表​​​​​​​

转载自   JFreeChart气泡图表

本章演示如何使用JFreeChart从一个给定的业务数据创建气泡图表。使用气泡图显示在三维方式的信息。气泡绘制在其中(x,y)坐标相交的地方。气泡的大小被认为是范围或X和Y轴的数量。

业务数据

考虑不同的人的年龄,体重和工作能力可能不太相同。能力可以视为对该被绘制为图表中的气泡的小时数。

WEIGHT

AGE 304050607080 
104     WORK
20 5    
30  10   
40   8  
50    9 
60     6

基于AWT的应用

以下是对从上述给定的信息创建气泡图表的代码。此代码可以帮助嵌入一个气泡图在AWT应用程序。

import java.awt.Color; 
import java.awt.Dimension; 
import javax.swing.JPanel; 
import org.jfree.chart.*; 
import org.jfree.chart.axis.NumberAxis; 
import org.jfree.chart.plot.PlotOrientation; 
import org.jfree.chart.plot.XYPlot; 
import org.jfree.chart.renderer.xy.XYItemRenderer; 
import org.jfree.data.xy.DefaultXYZDataset; 
import org.jfree.data.xy.XYZDataset; 
import org.jfree.ui.ApplicationFrame; 
import org.jfree.ui.RefineryUtilities;public class BubbleChart_AWT extends ApplicationFrame
{public BubbleChart_AWT( String s ){super( s );                 JPanel jpanel = createDemoPanel( );                 jpanel.setPreferredSize(new Dimension( 560 , 370 ) );                 setContentPane( jpanel ); }private static JFreeChart createChart( XYZDataset xyzdataset ){JFreeChart jfreechart = ChartFactory.createBubbleChart("AGE vs WEIGHT vs WORK",                    "Weight",                    "AGE",                    xyzdataset,                    PlotOrientation.HORIZONTAL,                    true, true, false);XYPlot xyplot = ( XYPlot )jfreechart.getPlot( );                 xyplot.setForegroundAlpha( 0.65F );                 XYItemRenderer xyitemrenderer = xyplot.getRenderer( );xyitemrenderer.setSeriesPaint( 0 , Color.blue );                 NumberAxis numberaxis = ( NumberAxis )xyplot.getDomainAxis( );                 numberaxis.setLowerMargin( 0.2 );                 numberaxis.setUpperMargin( 0.5 );                 NumberAxis numberaxis1 = ( NumberAxis )xyplot.getRangeAxis( );                 numberaxis1.setLowerMargin( 0.8 );                 numberaxis1.setUpperMargin( 0.9 );return jfreechart;}public static XYZDataset createDataset( ){DefaultXYZDataset defaultxyzdataset = new DefaultXYZDataset(); double ad[ ] = { 30 , 40 , 50 , 60 , 70 , 80 };                 double ad1[ ] = { 10 , 20 , 30 , 40 , 50 , 60 };                 double ad2[ ] = { 4 , 5 , 10 , 8 , 9 , 6 };                 double ad3[][] = { ad , ad1 , ad2 };                 defaultxyzdataset.addSeries( "Series 1" , ad3 );return defaultxyzdataset; }public static JPanel createDemoPanel( ){JFreeChart jfreechart = createChart( createDataset( ) );                 ChartPanel chartpanel = new ChartPanel( jfreechart );chartpanel.setDomainZoomable( true );                 chartpanel.setRangeZoomable( true );return chartpanel;}public static void main( String args[ ] ){BubbleChart_AWT bubblechart = new BubbleChart_AWT( "Bubble Chart_frame" );   bubblechart.pack( );                 RefineryUtilities.centerFrameOnScreen( bubblechart );                 bubblechart.setVisible( true ); }
}

让我们保存上面的Java代码在BubbleChart_AWT.java文件,然后从命令提示符下编译并运行它,如下所示:

$javac BubbleChart_AWT.java 
$java BubbleChart_AW

如果一切顺利,它会编译并运行生成以下气泡图:

 

创建JPEG图像

让我们重新编写上面的例子,在命令行生成JPEG图像。

import java.io.*;
import java.awt.Color; 
import org.jfree.chart.*; 
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.data.xy.DefaultXYZDataset;
import org.jfree.chart.ChartUtilities;public class BubbleChart_image
{public static void main( String args[ ] )throws Exception{DefaultXYZDataset defaultxyzdataset = new DefaultXYZDataset( );double ad[ ] = { 30 , 40 , 50 , 60 , 70 , 80 };double ad1[ ] = { 10 , 20 , 30 , 40 , 50 , 60 };double ad2[ ] = { 4 , 5 , 10 , 8 , 9 , 6 };double ad3[ ][ ] = { ad , ad1 , ad2 };defaultxyzdataset.addSeries( "Series 1" , ad3 );JFreeChart jfreechart = ChartFactory.createBubbleChart("AGE vs WEIGHT vs WORK", "Weight", "AGE", defaultxyzdataset, PlotOrientation.HORIZONTAL, true, true, false);XYPlot xyplot = ( XYPlot )jfreechart.getPlot( );xyplot.setForegroundAlpha( 0.65F );XYItemRenderer xyitemrenderer = xyplot.getRenderer( );xyitemrenderer.setSeriesPaint( 0 , Color.blue );NumberAxis numberaxis = ( NumberAxis )xyplot.getDomainAxis( );numberaxis.setLowerMargin( 0.2 );numberaxis.setUpperMargin( 0.5 );NumberAxis numberaxis1 = ( NumberAxis )xyplot.getRangeAxis( );numberaxis1.setLowerMargin( 0.8 );numberaxis1.setUpperMargin( 0.9 );int width = 560; /* Width of the image */int height = 370; /* Height of the image */ File bubbleChart = new File("BubbleChart.jpeg"); ChartUtilities.saveChartAsJPEG(bubbleChart,jfreechart,width,height);}
}

让我们保存上面的Java代码在BubbleChart_image.java文件,然后从命令提示符下编译并运行它,如下所示:

$javac BubbleChart_image.java 
$java BubbleChart_image 

如果一切顺利,它会编译并运行在当前的目录中创建的JPEG图像文件namedBubbleChart.jpeg。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

家校共建,用心教学

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

2018/7/6-纪中某C组题【jzoj1192,jzoj1397,jzoj1736】

前言 全体爆零,十分开心 正题 T1:矩阵 大意 就是N个矩阵,然后进行矩阵乘法(n∗mn∗m和m∗pm∗p的矩阵相乘就会变成n∗pn∗p的矩阵并且运算次数是n∗m∗pn∗m∗p),然后求最小乘法运算次数。 考试时 一直以为会是图论&#xff…

ASP.NET Core - Razor页面之Handlers处理方法

简介 在前一篇文章中,我们讨论了Razor页面。今天我们来谈谈处理方法(Handlers)。我们知道可以将代码和模型放在 .cshtml 文件里面或与 .cshtml 匹配的 .cshtml.cs 文件中。Razor页面处理程序或处理方法将用户请求匹配到我们的方法&#xff1…

JFreeChart(八)之时序图

转载自 JFreeChart时序图 时序图表显示的数据点在相等的时间间隔序列变化。本章演示了如何从一个给定的业务数据使用JFreeChart,建立时序图。 业务数据 让我们考虑通过使用标准 Java API 的 Math.random()产生的各种随机数。我们使用这些数字产生一个时间序列图…

立德树人

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

.NET Standard 2.0 特性介绍和使用指南

前言 早上起来.NET社区沸腾了,期待已久的.NET Core 2.0终于发布!根据个人经验,微软的产品一般在2.0时会趋于成熟,所以一个新的.Net开发时代已经来临!未来属于.NET Core。 对于.NET Core 2.0的发布介绍,围绕…

2018/7/7-纪中某C组题【jzoj1494,jzoj1495,jzoj1496,jzoj1497】

前言 290卡成145&#xff0c;十分开心。 正题 T1&#xff1a;密码 大意 N个数乘起来 考试时 看起来十分简单的高精乘单精 解题思路 10241024其实是10241024高精乘高精了解一下&#xff0c;30分QAQ 代码(高精乘高精我就不解释了吧) #include<cstdio> #include<…

加油四班!加油佟穆!我们的征途是星辰大海!!!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】首先&#xff0c;感谢佟老师与范老师&#xff0c;在我不在的时候&#xff0c;三班的就业和四班的学习都落在了两位老师的肩头&#xff0c;其次&#xff0c;还需要特别感谢冯老师&#xff0c;能抽时间…

JFreeChart(一)之架构

转载自 JFreeChart架构 本章介绍给大家介绍 JFreeChart 不同类中如何交互的概念, JFreeChart基本类层次和应用水平的架构在基于Java应用程序如何工作的。 类层次架构 类层次架构解释了如何把不同阶层的相互库交互&#xff0c;以创建不同类型的图表。 以下是在上述框图中使用…

体验 PHP under .NET Core

昨天在 The week in .NET 中发现 Scott Hanselman 的这篇博文 Peachpie - Open Source PHP Compiler to .NET and WordPress under ASP.NET Core&#xff0c;知道了 Peachpie PHP 编译器加入了 .NET 基金会&#xff0c;借助 Peachpie &#xff0c;.NET Core 已经支持 PHP 。 今…

上学的你,是不是最怕老师给家长打电话……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号&#xff1a;雄雄的小课堂。今天&#xff0c;做了个重要的工作&#xff0c;趁着五一这个假期&#xff0c;准备和每个家长都通一次话&#xff0c;将学生在学习情况给家长说明一下&#xff0c;站在我的角度&#xff0c;也从…

2018/7/8-纪中某C组题【jzoj1619,jzoj1620,jzoj1621,jzoj1622】

前言 分数250250&#xff0c;十分开心 正题 T1&#xff1a;音乐节拍 洛谷题目链接&#xff1a;https://www.luogu.org/problemnew/show/P2969 大意 有n段音乐&#xff0c;每段音乐持续时间不同&#xff0c;q个询问求一个时间点再放那首歌 考试时 开始时发现询问的时间点不…

IDEA一定要改的8条配置

转载自 IDEA一定要改的8条配置 引言 坦白说&#xff0c;我很少写这种操作类型的文章。因为这种文章没啥新意&#xff0c;大家操作步骤肯定是一样的。然而&#xff0c;我答应了我的同事小阳&#xff0c;给她出一篇&#xff01;毕竟人家打算从Eclipse转IDEA了&#xff0c;于是…

.NET Core 2.0使用NLog

最近研究了一下NLog的使用方式&#xff0c;简单的入了一下门。 实现的功能&#xff0c;对于不同的日志&#xff0c;进行不同的记录&#xff0c;分别有系统运行日志&#xff0c;和个人在程序中写的异常日志。发布之后放在了IIS上。进行查看日志的信息 参考了两篇博客。 1.ht…

计划得一步一步实施,题库首先是第一步!

大家好&#xff0c;我是雄雄&#xff0c;好久没见了哈&#xff0c;欢迎关注公众号&#xff1a;雄雄的小课堂。今天上午没有讲课&#xff0c;听写以及把假期作业整理了下&#xff0c;部分学生的假期作业偷工减料&#xff0c;也都让让让他们挨个补上了。上午将对班级后期的整个计…

OMG!又一个频繁FullGC的案例

转载自 OMG&#xff01;又一个频繁FullGC的案例 将用户已安装APP数据从MySQL中迁移到MongoDB中。MySQL中存储方式比较简单&#xff0c;每个用户每个已安装的APP一行记录&#xff0c;且数据模型对应AppFromMySQL。迁移到MongoDB中&#xff0c;我们想更好的利用MongoDB的优势&a…

ASP.NET Core - 关于标签帮助器值得了解的五点

如果您开发过ASP.NET Core Web应用程序&#xff0c;您应该已经熟悉了标签帮助器。ASP.NET Core应用程序依赖标签帮助器来呈现表单和表单字段是很常见的。所以&#xff0c;一个视图通常包含许多标签帮助器以及标准的HTML标记。您可以通过多种方式使用标签帮助器来提高开发的效率…

存储过程示例整理

--列出服务器上所有的数据库 exec sp_databases--改数据库的名字 exec sp_renamedb QQDB, QQ--查看表users中的列 exec sp_columns users《此组件已作为此服务器安全配置的一部分而被关闭》的解决办法use master exec sp_configure show advanced options,1 --显示高级配置信息…

如何使用MAT进行JVM内存泄露分析

转载自 如何使用MAT进行JVM内存泄露分析 在《Java Agent的隔离实现以及卸载时一些坑》中&#xff0c;卸载Agent之后&#xff0c;使用 jmap-histo:live pid命令验证执行FGC&#xff0c;相关Class是否会被回收&#xff0c;结果遇到了一些问题&#xff0c;最终通过MAT内存分析才…

Ribbon 客户端负载均衡

文章目录零、懒汉式改为饿汉式一、基于配置文件二、基于Bean配置三、自定义规则1 权重优先调用2 集群优先调用3 元数据优先调用零、懒汉式改为饿汉式 【consumer-springboot-80子模块】 Ribbon默认使用懒汉式加载服务列表&#xff0c;更改为懒汉式 application.yml ribbon: …