前言:
此刻看官们对“jsp设置背景透明度在哪”大概比较关注,我们都需要分析一些“jsp设置背景透明度在哪”的相关知识。那么小编同时在网摘上搜集了一些有关“jsp设置背景透明度在哪””的相关资讯,希望咱们能喜欢,同学们快快来学习一下吧!《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。
一、获取图片
JfreeChart组件能够生成jpeg、png格式图片,其输出方式直接存在硬盘中,也可以交给JfreeChart组件进行管理。在web应用中,所生成的图形报表一般为动态报表,如果每次生成的图表都进行存储,将产生大量的垃圾文件,因此由JfreeChart组件进行管理是一个不错的选择
1、配置JFreeChart
JfreeChart组件提供一个Servlet文件用于获取生成的图片,此Servlet文件存在JfreeChart组件包中,所以在使用过程中,需要将其配置在web.xml中
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> DisplayChart </servlet-name>
<url-pattern>/servlet/ DisplayChart </url-pattern>
</servlet-mapping>
2、获取图片
在输出图片之前,首先要生成JfreeChart组件所绘制的图片。此操作通过调用ServletUtilities类的saveChartAsJPEG()方法来实现,它返回一个.jpeg格式的图片:
public static String saveChartAsJPEG(JfreeChart chart,int width,int height,HttpSession session)
通过此方法生成图片后,调用已注册的JfreeChart提供的Servlet类DisplayChart即可获取图片的相对路径,例如:
<%
String fileName = ServletUtilities.saveChartAsJPEG(
ChartUtil.createChart(),450,300,session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;
%>
上述代码生成个宽度450、高度300的图片,文件名为fileName,路径为graphURL,通过此路径即可对生成的图片进行访问
二、第一个图表案例
第1步:建立项目,引入jar包(jar包已经给提供),其项目结构如下:
第2步:建立自定义绘图工具类ChartUtil
public class ChartUtil {
/**
* 创建数据集合
* @return CategoryDataset对象
*/
public static CategoryDataset createDataSet() {
//实例化DefaultCategoryDataset对象
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
//向数据集合中添加数据
dataSet.addValue(550, "JavaEE", "Java EE类");
dataSet.addValue(100, "JavaSE", "Java SE类");
dataSet.addValue(950, "Java项目", "Java 项目类");
return dataSet;
}
/**
* 创建JFreeChart对象
* @return JFreeChart对象
*/
public static JFreeChart createChart() {
//创建主题样式
StandardChartTheme standardChartTheme = new StandardChartTheme("CN");
//设置标题字体
standardChartTheme.setExtraLargeFont(new Font("隶书", Font.BOLD, 20));
//设置图例的字体
standardChartTheme.setRegularFont(new Font("微软雅黑", Font.PLAIN, 15));
//设置轴向的字体
standardChartTheme.setLargeFont(new Font("微软雅黑", Font.PLAIN, 15));
ChartFactory.setChartTheme(standardChartTheme); //设置主题样式
//通过ChartFactory创建JFreeChart
JFreeChart chart = ChartFactory.createBarChart3D(
"Java图书销量统计", //图表标题
"Java图书", //横轴标题
"销量(本)", //纵轴标题
createDataSet(), //数据集合
PlotOrientation.VERTICAL, //图表方向
true, //是否显示图例标识
false, //是否显示tooltips
false); //是否支持超链接
return chart;
}
}
第3步:在xml文件已注册的JfreeChart提供的Servlet类DisplayChart
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns=";
xmlns:xsi=";
xsi:schemaLocation="
;>
<servlet>
<description>JFreeChart</description>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
</web-app>
第4步:编写index.jsp输出图表
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities,com.test.ChartUtil"%>
<!DOCTYPE HTML>
<html>
<head>
<title>Java图书销量统计</title>
</head>
<body>
<%
String fileName = ServletUtilities.saveChartAsJPEG(ChartUtil.createChart(),450,300,session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;
%>
<img src="<%=graphURL%>" border="1">
</body>
</html>
第5步:部署运行输入,结果如下:
三、图表相关属相设置
为了使生成的图表美观、大方需要对绘图区、坐标轴等进行设置
public class ChartUtil {
/**
* 创建数据集合
* @return CategoryDataset对象
*/
public static CategoryDataset createDataSet() {
//实例化DefaultCategoryDataset对象
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
//添加第一季度数据
dataSet.addValue(6000, "第一季度", "Java SE类");
dataSet.addValue(3000, "第一季度", "Java ME类");
dataSet.addValue(12000, "第一季度", "Java EE类");
//添加第二季度数据
dataSet.addValue(8000, "第二季度", "Java SE类");
dataSet.addValue(4000, "第二季度", "Java ME类");
dataSet.addValue(6000, "第二季度", "Java EE类");
//添加第三季度数据
dataSet.addValue(5000, "第三季度", "Java SE类");
dataSet.addValue(4000, "第三季度", "Java ME类");
dataSet.addValue(8000, "第三季度", "Java EE类");
//添加第四季度数据
dataSet.addValue(8000, "第四季度", "Java SE类");
dataSet.addValue(2000, "第四季度", "Java ME类");
dataSet.addValue(9000, "第四季度", "Java EE类");
return dataSet;
}
/**
* 创建JFreeChart对象
* @return JFreeChart对象
*/
public static JFreeChart createChart() {
//通过ChartFactory创建JFreeChart
JFreeChart chart = ChartFactory.createBarChart3D(
"Java图书销量统计", //图表标题
"Java图书", //横轴标题
"销量(本)", //纵轴标题
createDataSet(), //数据集合
PlotOrientation.VERTICAL, //图表方向
true, //是否显示图例标识
false, //是否显示tooltips
false); //是否支持超链接
//背景图片
Image image = null;
try {
//创建背景图片
image = ImageIO.read(ChartUtil.class.getResource("test.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
//设置标题字体
chart.getTitle().setFont(new Font("隶书",Font.BOLD,25));
//设置图例类别字体
chart.getLegend().setItemFont(new Font("微软雅黑",Font.PLAIN,12));
chart.setBorderVisible(true); //设置显示边框
//实例化TextTitle对象
TextTitle subTitle = new TextTitle("2012年Java类图书全国销量统计(Java SE、Java ME、Java EE)");
//设置居中显示
subTitle.setVerticalAlignment(VerticalAlignment.BOTTOM);
chart.addSubtitle(subTitle); //添加子标题
//获取绘图区对象
CategoryPlot plot = chart.getCategoryPlot();
plot.setForegroundAlpha(0.8F); //设置绘图区前景色透明度
plot.setBackgroundAlpha(0.5F); //设置绘图区背景色透明度
plot.setBackgroundImage(image); //设置绘图区背景图片
//获取坐标轴对象
CategoryAxis categoryAxis = plot.getDomainAxis();
//设置坐标轴标题字体
categoryAxis.setLabelFont(new Font("微软雅黑",Font.PLAIN,12));
//设置坐标轴标尺值字体
categoryAxis.setTickLabelFont(new Font("微软雅黑",Font.PLAIN,12));
//设置坐标轴标题旋转角度
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//获取数据轴对象
ValueAxis valueAxis = plot.getRangeAxis();
//设置数据轴字体
valueAxis.setLabelFont(new Font("微软雅黑",Font.PLAIN,12));
//获取图片渲染对象
BarRenderer3D renderer = new BarRenderer3D();
renderer.setItemMargin(0.32); //设置柱子间的间距
plot.setRenderer(renderer); //设置图片渲染对象
return chart;
}
}
《大数据和人工智能交流》的宗旨
1、将大数据和人工智能的专业数学:概率数理统计、线性代数、决策论、优化论、博弈论等数学模型变得通俗易懂。
2、将大数据和人工智能的专业涉及到的数据结构和算法:分类、聚类 、回归算法、概率等算法变得通俗易懂。
3、最新的高科技动态:数据采集方面的智能传感器技术;医疗大数据智能决策分析;物联网智慧城市等等。
根据初学者需要会有C语言、Java语言、Python语言、Scala函数式等目前主流计算机语言。
根据读者的需要有和人工智能相关的计算机科学与技术、电子技术、芯片技术等基础学科通俗易懂的文章。
标签: #jsp设置背景透明度在哪