`
kim_miao
  • 浏览: 190900 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web三维图表的开发

阅读更多
1、三维散点图的生成  
JMathPlot可产生常用的二维和三维图表,其生成图表的步骤与JFreeChart类似,设置数据集,定制图表相关属性及输出图表。对于三维图表的数据集,是用三元组存储的。但这些图表多用在Java Application 环境中。而要想将生成的图输出到浏览器。主要借助于JFreeChart中的EncoderUtil.encode方法将产生的BufferedImage对象实例编码成字节流.将些字节流放入Response中输出到浏览器端。
Public Class Scatter3DChart implements Serializable{
public byte[] generateImageBytes() throws IOException {
        double[][] dataset = new double[20][3];
        for (int i = 0; i < 20; i++) {   //随机产生二十个0至1的数据点,
            dataset[i][0] = Math.random();
            dataset[i][1] = Math.random();
            dataset[i][2] = Math.random();
        }
        Plot3DPanel plotpanel = new Plot3DPanel();//生成三维散点图实例。
        plotpanel.setAxeLabel(0, "X轴");//设置X轴名称,0代表X轴
        plotpanel.setAxeLabel(1, "Y轴");//设置Y轴名称,1代表Y轴
        plotpanel.setAxeLabel(2, "Z轴");//设置Z轴名称,2代表Z轴       
        plotpanel.addScatterPlot("data", dataset); //添加数据集,data代表图例名
称      
        plotpanel.setBackground(Color.WHITE);//设置图片的背景色彩
        BufferedImage bufferedImage = new BufferedImage(width,height,    BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bufferedImage.createGraphics();
        plotpanel.plotCanvas.paint(g);
        return EncoderUtil.encode(bufferedImage, ImageFormat.PNG);//将生成的内存图片编码成字节流。
    }
}

有了图片字节流,就可以借助于Response将图片数据输出到浏览器。以下是
OutputStream os = new BufferedOutputStream(response.getOutputStream());
os.write(out); //out 代表从以上generateImageBytes ()方法中获得的字节流
os.flush();
so.close();

生成的三维散点图如下:



参考文献:
[1]JfreeChart项目主页: http://www.jfree.org
[2]JmathPlot项目主页:http://jmathtools.sourceforge.net



  • 大小: 30.9 KB
1
1
分享到:
评论
1 楼 zhuyuangping 2012-11-23  
为什么我的是显示黑白色,没有图

相关推荐

    三维图表曲线组件 (VB.NET)

    【三维图表曲线组件 (VB.NET)】是一种专为VB.NET平台设计的图形用户界面控件,主要用于绘制各种类型的图表,包括柱状图、线条曲线图和饼图。这个组件不仅功能强大,还提供了丰富的视觉效果,如鲜艳的色彩,使得数据...

    基于Threejs/Webgl管道三维流动&三维图表展示(曲线图柱状图饼图仪表仪盘)功能 项目实战二

    三维图表展示:设备实时数据和运行状态在三维场景中仪表盘可视化展示,三维的压力表、流量计、电压电流表。曲线图柱状图饼图三维可视化统计,工厂产能或生产数据做图形图表统计和实时数据查看。threejs 98版本开发...

    基于Cesium的三维展示与查询平台开发

    Cesium: 一个新兴的三维开发框架, 提供对框架的免费源码开放, 它能够借 助于 HTML5 新一代网页标准和 WebGL 技术规范在 Web 端实现动态的三维场景 渲染, 其中, HTML5 新添加的 canvas 和媒体资源等标签 [43] ...

    three.js三维图形图表特效

    本资源包“three.js三维图形图表特效”提供了一种创新的方式,将复杂的三维图表以炫酷的视觉呈现出来。 **一、Three.js基础概念** 1. **场景(Scene)**:在Three.js中,所有的物体和效果都会被添加到一个场景中,...

    三维数据表格与JS代码

    最后,可视化库如D3.js或Three.js等,可以帮助我们更轻松地创建出具有交互性的三维图表。 "多维表格的绘制与使用.doc"可能是文档教程,详细介绍了如何构建和使用这类表格,可能包括以下步骤: 1. 数据准备:整理...

    VS2010中MFC利用TeeChart控件实现画三维图

    TeeChart是一款强大的图表控件,它提供了丰富的图表类型,包括二维和三维图表,适用于Windows、Web以及移动平台等多种环境。在VS2010中,TeeChart可以无缝集成到MFC应用程序中,为开发者提供直观且高效的图形绘制...

    利用OWC11图形库函数形成二维及三维统计图表程序代码

    在Microsoft Office Web Components (OWC) 11中,开发者可以利用其提供的图形库函数来创建各种复杂的统计图表,如二维和三维柱状图。OWC11是微软推出的一个组件,它允许开发者在Web应用或者桌面应用中嵌入Excel、...

    jfreechart+applet三维图形实例

    JFreeChart是一个强大的Java图表库,它允许开发者创建多种类型的二维和三维图表,包括柱状图、饼图、线图、散点图等,并且支持自定义颜色、样式和动画效果。Applet是Java的一种小型应用程序,常用于网页中展示交互式...

    arcgis JavaScript D3 三维效果实现

    6. **三维效果**:在ArcGIS中,可以使用`esri/views/3D`模块创建3D视图,结合D3的3D库(如d3.geo.projection)来实现3D图表。需要注意的是,3D效果的实现需要对三维空间的理解和一定的性能优化技巧。 7. **响应式...

    C# OWC 簇形三维柱状图 源码

    本主题涉及的是利用Microsoft的Office Web Components(OWC)控件在C#环境中创建簇形三维柱状图的方法。OWC是微软提供的一组组件,允许开发者在Web页面或桌面应用中嵌入Excel、Word和PowerPoint的功能。 首先,簇形...

    ASP立体统计与三维图实例

    总的来说,"ASP立体统计与三维图实例"涵盖了从数据获取、处理、可视化到交互设计等多个方面,是Web开发中的高级技能,能够帮助开发者创建出强大的数据展示平台,为用户提供深度洞察数据的能力。通过实践这些实例,你...

    一个网友写的三维统计图

    总的来说,这个网友的三维统计图项目展示了早期Web开发中的一些技术,如VML和JavaScript,以及如何利用它们在受限环境下创建可视化效果。虽然如今这些技术已经被SVG和WebGL等更先进的标准取代,但它们在历史上的作用...

    可局域网搭建的离线二维三维地图开发学习网站,资料全

    本资源包提供的“可局域网搭建的离线二维三维地图开发学习网站”就是一个针对这个领域的综合性学习平台。下面我们将详细探讨其中涉及的关键知识点。 首先,GIS(Geographic Information System)地图是该平台的核心...

    web图表程序集,各种饼图、柱状图、立体图

    立体图则是将二维图表扩展到三维空间,增加了视觉效果和深度感。立体图有多种类型,如立方体图、棱锥图、圆锥图等,它们能够更生动地展现数据的层次结构和分布情况。在Web开发中,立体图常用于商业智能报告、数据...

    基于WebGL实现的3D曲面图表组件

    3. **数据映射**:3D曲面图的数据通常是多维的,例如,一个三维数组代表Z轴上的高度值。组件需要将这些数据映射到3D网格上,形成曲面。 4. **着色和光照**:WebGL中的着色器处理光照效果,如环境光、点光源和方向光...

    cesium剖面分析示例,html,三维开发实例 前端开发

    本示例聚焦于“cesium剖面分析”,这是一个使用Cesium库进行三维开发的实践项目,主要针对HTML页面的创建和实现。Cesium是一个强大的开源JavaScript库,专门用于在Web浏览器中创建交互式的3D地球、地图和地理空间...

    在Web端基于原生WebGL实现的三维地球

    总的来说,基于WebGL的三维地球项目展示了JavaScript开发和可视化技术的强大潜力,它不仅提供了丰富的视觉体验,还为Web应用提供了新的交互方式。对于开发者来说,掌握WebGL和相关3D图形编程技巧是提升技能和创新...

    ChinaExcel Chart图表控件

    本产品是杭州通用软件有限公司自主开发的一款的类EXCEL图表控件产品,可以在C/S和WEB等各种环境下面应用。 图表界面是完全类EXCEL,操作方式也是类EXCEL,用户使用将会非常方便。 支持的图表类型:(还在不断的...

    JavaScript三维报表,统计图--饼图样式

    JavaScript三维报表和统计图是网页数据可视化的重要工具,尤其在现代数据分析和决策支持系统中扮演着关键角色。本文将深入探讨如何使用JavaScript实现三维报表和饼图样式,并着重讲解其核心概念和技术。 首先,让...

    creator和vega关于三维地形生成的一些资料

    在实际开发中,开发者通常会结合这些工具和技术,首先使用如MATLAB这样的工具处理和生成地形数据,然后在Creator中进行三维建模和场景设置,最后可能通过Vega或Vega-Lite实现交互式的Web展示。这个过程涵盖了数据...

Global site tag (gtag.js) - Google Analytics