3.全部图表
3.1输出图片
编码
经过编码器对象加载org.krysalis.jcharts.encoders包, jCharts输出下格式:PNG, JPEG, 和 SVG。这些编码器的每一个都有一个编码图表的方法:
编码(Chart chart, OutputStream outputStream) –一个你能经过有这个方法的的任何输出流工具,例如文件输出流,普通的版本。
对PNG和JPEG的支持是有 JSDK 1.4提供的。总之,你需要 JSDK 1.4去用 提供的jCharts t图片编码器。然而,现在有一个保留支持旧的JDK's的JPEGEncoder13类。
对SVG的支持是由 the Apache XML工程提供的:Batik。请访问:http://xml.apache.org/batik/
来自一个Servlet的图片
有一个帮助类,org.krysalis.jcharts.encoders.ServletEncoderHelper,另外,来自Servlets和JSP的输出表。
在这个能输出jCharts支持格式的任何一个图片的类,有许多的方法,为浏览器增加了自动装入图表MIME类型有助于浏览器知道怎样正确的显示图片。
我不知道关于你的情况,但是我总是能强记不同文件格式的MIME类型。
提示:
一些用户尝试吧一个图表图片输出到磁盘然后通过流传回浏览器。这是没必要的!你可以利用上面提及的帮助类把图片由流输出到浏览器,将避免昂贵的文件输入输出。
备注:
这个帮助类之所以会产生因为可以避免依赖与J2EE jard的编译时间。如果你简单地在the xxxEncoder类上重载代码的方法,编译器会为每一个重载的注册试着加载所有涉及的类。
没有X Server的图片
JSDK 1.4+ 可以允许jCharts运行在一个虚拟存储缓冲区的一个headless无*的空间上。在java命令行设置以下指定的属性:-Djava.awt.headless=true或者在你的代码里一个缺少弹性的位置:System.setProperty("java.awt.headless","true");
然而,如果你运行以前的JDK1.4,你不得不用一个虚拟存储缓冲区,如:xvfb。
图表在Swing里应用
你同样在一个Swing应用里面用jcharts。以下的代码来自org.krysalis.jcharts.demo.swing包的 SwingDemo类。这里,你简单地设置Swing组件的图形对象,变成图表和调用render()
import org.krysalis.jcharts.chartData.ChartDataException;
import org.krysalis.jcharts.chartData.PieChartDataSet;
import org.krysalis.jcharts.properties.PropertyException;
import org.krysalis.jcharts.properties.PieChart2DProperties;
import org.krysalis.jcharts.properties.ChartProperties;
import org.krysalis.jcharts.properties.LegendProperties;
import org.krysalis.jcharts.nonAxisChart.PieChart2D;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowEvent;
public class SwingDemo extends JFrame
{
private JPanel panel;
public SwingDemo() throws ChartDataException, PropertyException
{
initComponents();
}
private void initComponents() throws ChartDataException,PropertyException
{
this.setSize( 500, 500 );
this.panel = new JPanel( true );
this.panel.setSize( 500, 500 );
this.getContentPane().add( this.panel );
this.pieChart2DProperties = new PieChart2DProperties();
this.legendProperties= new LegendProperties();
this.chartProperties= new ChartProperties();
this.setVisible( true );
addWindowListener( new java.awt.event.WindowAdapter()
{
public void windowClosing( WindowEvent windowEvent )
{
exitForm( windowEvent );
}
}
);
}
/************************************************************************
*
* @param graphics
***********************************************************************/
public void paint( Graphics graphics )
{
try {
String[] labels = {"BMW", "Audi", "Lexus"};
String title = "Cars that Own";
Paint[] paints = {Color.blue, Color.gray, Color.red};
double[] data = {50d, 30d, 20d};
PieChartDataSet pieChartDataSet = new PieChartDataSet( title, data,
labels, paints, this.pieChart2DProperties );
Dimension dimension= this.panel.getSize();
PieChart2D pieChart2D = new PieChart2D( pieChartDataSet,
this.legendProperties,
this.chartProperties,
(int) dimension.getWidth(),
(int) dimension.getHeight() );
//***** BEGIN SWING SPECIFIC CODE *******************************
pieChart2D.setGraphics2D( (Graphics2D) this.panel.getGraphics() );
pieChart2D.render();
//***** END SWING SPECIFIC CODE *********************************
}
catch( ChartDataException chartDataException ) {
chartDataException.printStackTrace();
}
catch( PropertyException propertyException ) {
propertyException.printStackTrace();
}
}
3.2图表标题
显示一个标题
你能有一个 DataSeries和 PieChartDataSet构造方法的一个参数显示你的图表的标题。在font-family
分享到:
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
【毕业设计】java-springboot-vue交通管理在线服务系统的开发源码(完整前后端+mysql+说明文档+LunW).zip