`
tntxia
  • 浏览: 1511250 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Rapael做图表

 
阅读更多

function drawReport(paper,attr,data){

    

    var width = attr.width;

    var height = attr.height;

    

    var max = 0;

    

    $.each(data,function(i,d){

        if(d.value>max){

            max = d.value;

        }

    });

 

max = max + (4-(max%4));

 

    var chartXStart = 30;

    var chartYStart = 10;

    

    var chartXEnd = chartXStart+width;

    var chartYEnd = chartYStart+height;

    

    for(var i=0;i<5;i++){

        

        var axis = (max-parseInt(max*i/4));

        var lineY = 10+i*(height/4);

        paper.text(10,lineY,axis);

        

        if(i!=0 && i!=4){

            

            var path = paper.path("M"+chartXStart+" "+lineY+"L"+chartXEnd+" "+lineY);

            path.attr({"fill":"red","stroke-opacity":0.5,"stroke-width":0.5});

        }

        

    }

    

    var path = paper.path("M"+chartXStart+" "+chartYStart+"L"+chartXStart+" "

            +chartYEnd+",M"+chartXStart+" "+chartYEnd+"L"+chartXEnd+" "+chartYEnd);

    

    path.attr({"arrow-end":'block-wide-midium',stroke:'blue'});

    

    var pathAttr = "";

    var mx = chartXStart + 20,my = 10;

    

    var points = [];

 

var dataSpan = 75;

    

    $.each(data,function(i,d){

        

        if(i==0){

            my = chartYEnd;

            if(max==0){

                my = chartYEnd;

            }else{

                my = chartYEnd - parseInt((100/max)*d.value);

            }

            mx += i*dataSpan;

        }else{

            var lx = mx + dataSpan;

            var ly = 100;

            if(max==0){

                ly = 100;

            }else{

                ly = chartYEnd - parseInt((100/max)*d.value);

            }

            if(pathAttr==""){

                pathAttr = "M"+mx+" "+my+"L"+lx+" "+ly;

            }else{

                pathAttr += ",M"+mx+" "+my+"L"+lx+" "+ly;

            }

            mx = lx;

            my = ly;

        }

        

        points.push({

            x:mx,

            y:my,

            data:d.value,

label:d.label

        });

        

    });

    

    var dataPath = paper.path(pathAttr);

    

    dataPath.attr({stroke:'yellow'});

    

    var showData;

    var backRect;

    

    $.each(points,function(i,d){

        var glow;

        

        var circle = paper.circle(d.x,d.y,3).attr({fill:'blue',cursor:'pointer'}).mouseover(function(){

            

            glow = this.glow({color:'blue',width:5});

            backRect = paper.rect(this.attrs.cx+15,this.attrs.cy-10,30,20,2);

            backRect.attr({fill:'white'});

            showData = paper.text(this.attrs.cx+30,this.attrs.cy,d.data);

            

        }).mouseout(function(){

            if(glow){

                glow.remove();

            }

            if(showData){

                showData.remove();

            }

            if(backRect){

                backRect.remove();

            }

        });

 

paper.text(d.x,chartYEnd+20,d.label);

    });

    

}

 

 

$(function(){

    

    var paper = new Raphael("report");

    var attr = {

        width:260,

        height:100

    }

 

$.post("json/getStatistics.php",function(data){

// 绘制横竖坐标

    drawReport(paper,attr,data);

},"json");

    

    

    

});

分享到:
评论

相关推荐

    易语言数据图表演示

    本压缩包文件“易语言数据图表演示”提供了一个用易语言编写的关于数据图表展示的示例项目,旨在帮助用户了解和学习如何在易语言中实现数据的可视化。 在数据处理和分析领域,数据图表是至关重要的工具,它能够将...

    适合uni-app 使用的echarts图表组件,开箱即用!

    标题中的“适合uni-app使用的echarts图表组件,开箱即用!”表明这是一个专门为uni-app框架设计的ECharts图形库组件,旨在简化在uni-app中集成数据可视化的过程。uni-app是一个跨平台的前端开发框架,允许开发者用...

    jquery 做的实时图表

    "jQuery 做的实时图表"是一个使用jQuery和Highcharts插件实现的动态图表解决方案,它允许开发者创建交互式、实时更新的图表,用于展示不断变化的数据。以下是关于这个主题的详细知识讲解。 ### Highcharts简介 ...

    VB6.0图表控件(分页图表 四位旋转 改变图表单元值).rar

    如果文件包含示例代码,通过学习和理解这些代码,你可以快速上手并开始在自己的项目中使用这个强大的图表控件。 总的来说,这个VB6.0图表控件提供了丰富的图表样式和动态交互特性,是数据可视化的有力工具。通过...

    用图表说话(say it with charts)

    根据给定文件的信息,我们可以提炼出以下关于《用图表说话》(Say It With Charts)的知识点: ### 一、书籍基本信息 - **书名**:《用图表说话》(Say It With Charts) - **作者**:Gene Zelazny - **编辑**:...

    绝了!Excel可以这样用:商务图表经典案例实战精粹【PDF】

    Excel可以这样用:商务图表经典案例实战精粹》适合所有想学习Excel图表设计与制作的人员阅读,也适合使用Excel图表进行开发的工程技术人员使用。对于经常使用Excel图表做分析和汇报的人员,本书更是一本不可多得的...

    用图表说话—高级经理商务图表指南

    用图表说话—高级经理商务图表指南,用图表说话—高级经理商务图表指南.

    Axure数据可视化图表组件库(AxureUX图表+地图)

    一套数据可视化图表通用组件库,主要由Antv静态图表、Axhub动态图表、地图组件素材三部分内容组成,其中包含了几十种常用图表类型和全国34个省级行政区地图,可以满足大部分的原型设计图表展示需求。 Antv静态图表...

    非常漂亮的图表 可以做各种行业图表

    描述中提到“用vc++6.0做的图表 非常适合各类图表制作”,这进一步确认了这是一个基于C++编程语言的图表库,可能包括柱状图、折线图、饼图、散点图等多种图表类型,且性能优秀,适合于各种复杂的数据展示和分析任务...

    C#使用amchart制作漂亮的图表

    在C#中,你可以通过Web服务或者API接口返回JSON格式的数据,然后在前端用JavaScript解析并绑定到图表上。 4. **实时更新数据**:amCharts提供了一个`dataProvider`属性,你可以定期更新这个属性来刷新图表。这可以...

    使用echarts绘制android图表

    ECharts 是一个由百度开发的开源 JavaScript 图表库,它提供了丰富的可视化图表类型,如柱状图、折线图、饼图、散点图等,适用于网页数据可视化的各种需求。在 Android 开发中,我们可以借助 ECharts 的 Webview ...

    EXCEL图表之道_如何制作专业有效的商务图表

    4. **添加图表元素**:合理使用标题、图例、坐标轴标签等元素,增强图表的可读性。 5. **优化布局**:调整图表的大小和位置,使其在工作表中占据合适的空间。 6. **检查与修正**:仔细检查图表中的每一个细节,确保...

    Vue 之 echarts 图表数据可视化常用的一些图表动态图表3D图表的简单整理

    相关说明地址: vue 中添加 echarts ,然后在 vue 中简单使用一些 echarts中常用的图表,包括一些动态的图表、3D的图表等 ,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

    Axure数据图表元件(柱图、饼图、雷达图、折线图、面积图)

    Axure数据图表元件(柱图、饼图、雷达图、折线图、面积图)Axure数据图表元件Axure数据图表元件Axure数据图表元件 Axure数据图表元件(柱图、饼图、雷达图、折线图、面积图)Axure数据图表元件Axure数据图表元件...

    Charts使用多个不同图表库为laravel创建图表

    在 Laravel 框架中,Charts 是一个非常实用的库,它允许开发者使用多个不同的图表库来创建丰富的数据可视化效果。这个库由 ConsoleTVs 开发,版本号为 e695e07,主要针对 PHP 开发者,特别是那些在 Laravel 中处理...

    PPT教程用图表说话

    同时,保持图表的清晰度,避免使用过多的颜色和复杂的元素,这可能会分散观众的注意力。 图表的动画效果也是提高演示文稿吸引力的一个手段。适度的动画可以引导观众的视线,逐项揭示数据,但过度的动画可能造成反...

    使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip

    使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js绘制3d图表(柱状图,饼状图,环状图,面积图等).zip使用three.js...

    Excel图表实战技巧

    高级用户还可以尝试使用组合图表,即在同一图表中展示多种不同类型的数据。此外,Excel提供了诸如创建预测、使用数据透视表和数据透视图等高级功能,帮助用户从大量数据中快速提取信息。 8. 共享和协作: Excel图表...

    15款经典图表软件推荐 创建最漂亮的图表

    14. Zing Chart:ZingChart提供了创建独特Flash图表和图形的解决方案,安装和使用都非常简便。 15. Fly Charts:FlyCharts的2.0版本增强了数据可视化和自定义界面的功能,对个人用户免费。 这些图表软件覆盖了从...

    Visual C++源代码 191 如何使用自动化生成Word图表

    Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源代码 191 如何使用自动化生成Word图表Visual C++源...

Global site tag (gtag.js) - Google Analytics