精华内容
下载资源
问答
  • 润乾报表-数据类型、分页、统计图函数
    千次阅读
    2016-10-14 15:47:30

    数据类型判断函数

    1.isEmpty()

    函数说明: 判定表达式运算的结果列表中的元素个数是否为0,或者运算的结果是否为null

    语法: isEmpty(exp)

    参数说明: exp 表达式

    返回值: 布尔型

    2.isdate()

    函数说明: 判定字符串是否具有转换成日期的合法格式

    语法: isdate( string )

    参数说明: string 字符串表达式

    返回值: 布尔型


    示例:

    例1:isdate("2006-10-10") 返回:true

    例2:isdate("2006-10-10 10:20:30") 返回:true

    例3:isdate("20061010") 返回:false

    例4:isdate("10:20:30") 返回:false


    3.isnumber()

    函数说明: 判定字符串是否具有转换成数值的合法格式

    语法: isnumber( string )

    参数说明: string 字符串表达式

    返回值: 布尔型


    示例:

    例1:isnumber("abc") 返回:false

    例2:isnumber("1234") 返回:true


    4.istime()

    函数说明: 判定字符串是否具有转换成时间的合法格式

    语法: istime( string )

    参数说明: string 字符串表达式

    返回值: 布尔型


    示例:

    例1:istime("2006-10-10") 返回 false

    例2:istime("2006-10-10 10:20:30") 返回 false

    例3:istime("20061010") 返回 false

    例4:istime("10:20:30") 返回 true


    数据类型转换函数

    1.str()

    函数说明: 将对象转换成字符型,转换过程中可以进行格式化

    语法: str(expression{, format})

    参数说明: expression 需要转换成字符串的常数对象或表达式 format 转换过程中进行格式化的格式串

    返回值: 字符型


    示例:

    例1:str(123) 返回值:"123"

    例2:str(arg1,"yyyy年MM月dd日"),其中arg1为日期型参数,值为1972-09-09, 返回值:"1972年09月09日"

    例3:str(3456.9876,"¥#,##0.00") 返回值:"¥3,456.99"


    2.int()

    函数说明: 将字符串或数字转换成整数

    语法: int( string ) int( number )

    参数说明: string 需要转换的字符串表达式 number 数字,如果带有小数位,转换后小数位被截掉

    返回值: 32位整数


    示例:

    例1:int( "100" ) 返回:100

    例2:int( 100.1 ) 返回:100

    例3:int(100.9999) 返回:100


    3.long()

    函数说明: 将字符串或数字转换成64位长整数

    语法: long( string ) long( number ) 

    数说明: string 需要转换的字符串表达式 number 数字,如果带有小数,则小数部分被截掉

    返回值: 64位长整数


    示例:

    例1:long("1234567") 返回:1234567

    例2:long(1234567.789) 返回:1234567


    4.bigint()

    函数说明: 将字符型整数转换成大整数或对数值型数据取整返回大整数 该数据类型精度高,支持大于64位的整数,但是运算速度慢 如果小于64位的整数,建议用long(支持64位,即最大为2的64次方)或者int(支持32位,即最大为2的32次方)

    语法: bigint(stringExp) bigint(numberExp)

    参数说明: stringExp 需要转换的整数串 numberExp 需要取整的数值型数据,超过64位要用decimal类型,缺省为double(64位)

    返回值: 大整数BigInteger


    示例:

    例1:bigint("123456789012345678901234567890") 返回:123456789012345678901234567890

    例2:bigint(decimal("1234567890123456789012345.67890")) 返回:1234567890123456789012345

    例3:bigint(12345.6789012345678901234567890) 返回:12345



    5.float()

    函数说明: 将单精度浮点数、双精度浮点数、字符串转换为32位的单精度浮点型

    语法: float(string) float(number)

    参数说明: string 需要转换的单精度浮点数、双精度浮点数表达式 number 数字

    返回值: 32位的单精度浮点数


    示例:

    例1:float("1234567") 返回:1234567.0

    例2:float(1234567.0) 返回:1234567.0

    例3:float(1234567) 表达式提示错误,因为1234567不是浮点数


    6.double()

    函数说明: 将字符串或数字转换成64位的双精度浮点数

    语法: double( string ) double( number )

    参数说明: string 需要转换的字符串表达式 number 数字

    返回值: 64位的双精度浮点数


    示例:

    例1:double("1234567") 返回:1234567.0

    例2:double(1234567) 返回:1234567.0


    7.deicmal()

    函数说明: 将字符串或数字型数值转换成大浮点数

    语法: deicmal(stringExp) decimal(numberExp)

    参数说明: stringExp 给定数字串,可含小数点 numberExp 数值,只能少于等于64位,超过64位就要用字符串

    返回值: 大浮点数BigDecimal


    示例:

    例1:decimal("123456789012345678901234567890") 返回:123456789012345678901234567890

    例2:decimal(1234567890123456) 返回:1234567890123456(BigDecimal类型)


    8.number()

    函数说明: 将字符串转换成相应的32位整数、64位整数、或者64位符点数

    语法: number( string )

    参数说明: string 需要转换的字符串表达式

    返回值: 32位整数、64位整数、或者64位符点数


    示例:

    例1:number("123") 返回:123

    例2:number("1234567890") 返回:1234567890

    例3:number("12345.7891") 返回:12345.7891


    9.date()

    函数说明: 将字符串转换成日期型数据

    语法: date(stringExp)

    参数说明: stringExp 字符串表达式,其结果必须返回合法日期格式的字符串 要求格式为yyyy-MM-dd,不含时间,如果含了时间,时间部分不转换

    返回值: 日期时间型,但是时间部分都为00:00:00


    示例:

    例1:date("1982-08-09") 返回日期:1982-08-09 00:00:00

    例2:date("1982-08-09 10:20:30") 返回日期:1982-08-09 00:00:00


    10.dateTime()

    函数说明: 将字符串或长整数转换成日期时间

    语法: dateTime(string) dateTime(long)

    参数说明: string 格式为yyyy-MM-dd HH:mm:ss的字符串 long 以微秒计的长整数

    返回值: 日期时间


    示例:

    例1:dateTime("2006-01-01 10:20:30") 返回:2006-01-01 10:20:30

    例2:dateTime("2006-01-01 10:20:30:111") 返回:2006-01-01 10:20:30

    例3:dateTime(12345) 返回:1970-01-01 08:00:12


    11.datetime2()

    函数说明: 将各种格式的日期字符串转换成日期时间型数据,转换时可以指定字符串的当前格式

    语法: datetime2(string, format)

    参数说明: string 各种格式的日期字符串 format 用于说明参数1的格式串

    返回值: 日期时间型数据


    示例:

    例1:datetime2("12/28/1972","MM/dd/yyyy") 返回:1972-12-28 00:00:00

    例2:datetime2("12/28/1972 10:23:43","MM/dd/yyyy hh:mm:ss") 返回:1972-12-28 10:23:43

    例3:datetime2("19800227","yyyyMMdd") 返回:1980-02-27 00:00:00

    例4:datetime2("1982年12月30日","yyyy年MM月dd日") 返回:1982-12-30 00:00:00


    分页函数

    1.pno()

    函数说明: 取得当前页的页码,注意,本函数只是在分页后才有效

    语法: pno({booleanExp})

    参数说明: booleanExp 表达式

    返回值: 当前页的页码。


    示例: 

    pno() 返回前页在总的页表中的页码 

    pno(true) 返回前页在纵向分页的页表中的页码 

    pno(false) 返回前页在横向分页的页表中的页码


    2.pcount()

    函数说明: 取得总的页数,注意,本函数只是在分页后才有效

    语法: pcount({booleanExp})

    参数说明: booleanExp 表达式

    返回值: 页数。


    示例:

    pcount() 返回总的页表中的页数 

    pcount(true) 返回纵向分页的页表中的页数 

    pcount(false) 返回横向分页的页表中的页数


    3.pcsum()

    函数说明: 计算分页后的当前页中所有的单元格(cellExp)的和,注意,本函数只是在分页后才有效

    语法: pcsum({cellExp})

    参数说明: cellExp 表达式

    返回值: 当前页中所有的单元格(cellExp)的和


    示例:

    pcsum(A2{条件}) 返回当前页中所有的A2格之和


    4.pccount()

    函数说明: 计算分页后的当前页中所有的单元格(cellExp)的个数,注意,本函数只是在分页后才有效

    语法: pccount({cellExp})

    参数说明: cellExp 表达式

    返回值: 当前页中所有的单元格(cellExp)的个数


    示例: 

    pcsum(A2{条件}) 返回当前页中所有的A2格的个数


    统计图函数

    函数说明: 计算生成统计图

    语法: graph({graphTypeExp})

    参数说明: graphTypeExp 统计图类型表达式,本参数运算的结果为整型。

    分别对应以下值:

    1:区域图

    2:条形图

    3:三维条形图

    4:三维簇状条形图

    5:堆积条形图

    6:三维堆积条形图

    7:柱形图

    8:三维柱形图

    9:三维簇状柱形图

    10:堆积柱形图

    11:三维堆积柱形图

    12:折线图

    13:饼型图

    14:散列图

    15:三维区域图

    16:三维折线图

    17:三维饼型图

    18:时序状态图

    19:时间走势图

    20:双轴折线图

    21:双轴柱线图

    22:雷达图

    23:甘特图

    24:仪表盘

    25:里程碑

    返回值: 统计图


    示例: 

    graph(2) 计算条形图


    更多相关内容
  • 利用Python取出excel数据并生成统计图

    万次阅读 2019-09-14 22:07:30
    从excel中取出数据,然后生成一个统计图表 借助了Python的第三方模块xlrd和pyecharts xlrd Python中用来读取excel数据的模块 安装pip install xlrd xlrd文档 pyecharts Echarts 是一个由百度开源的数据可视化,...

    取出excel数据生成图表

    • 帮朋友写的一个小脚本
    • 从excel中取出数据,然后生成一个统计图表
    • 借助了Python的第三方模块xlrd和pyecharts

    xlrd

    • Python中用来读取excel数据的模块
    • 安装pip install xlrd
    • xlrd文档

    pyecharts

    • Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。
    • pyecharts就是通过Python使用Echarts。
    • 安装pip install pyecharts
    • 注意
      • 现在有很多网上的使用pyecharts的版本都是v0.5.x的,现在安装都是v1版本的,两者差别还是蛮大的。
      • pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本
      • pyecharts v1版本文档

    代码分析

    # 打开存储数据的excel
    data = xlrd.open_workbook('C:\\Users\\Administrator\\Desktop\\新建文件夹\\个人-月\\12.xlsx')
    
    # 以表格的形式取出数据
    table = data.sheets()[0]
    
    # 取出表格中第一列数据 
    PM2_5 = table.col_values(0)
    
    # 生成一个折线统计图对象
    line = Line()
    # 添加 x 轴元素
    line.add_xaxis(handle_time_list(time[1:]))
    # 添加 y 轴元素
    line.add_yaxis('PM2.5', PM2_5[1:])
    
    # 渲染到html页面
    line.render('./person/12.html')
    
    • 代码很简单,就是表格中的数据较多。
      生成图片的大概样式

    实现代码

    from pyecharts.charts import Bar, Line
    import xlrd
    
    
    def handle_time_list(time_list):
        """
        处理float格式的时间数据为 年/月/日 小时:分钟
        time_list: 时间列表
        return: 处理好的时间数据列表
        """
        new_time_list = [xlrd.xldate_as_datetime(i, 0).strftime(r'%Y/%m/%d %H:%M') for i in time_list]
        return new_time_list
    
    data = xlrd.open_workbook('C:\\Users\\Administrator\\Desktop\\新建文件夹\\个人-月\\12.xlsx')
    table = data.sheets()[0]
    
    PM2_5 = table.col_values(0)
    PM10 = table.col_values(1)
    CO = table.col_values(2)
    NO2 = table.col_values(3)
    SO2 = table.col_values(4)
    O3 = table.col_values(5)
    wind = table.col_values(6)
    pressure = table.col_values(7)
    water = table.col_values(8)
    temperature = table.col_values(9)
    humidity = table.col_values(10)
    time = table.col_values(11)
    
    
    line = Line()
    line.add_xaxis(handle_time_list(time[1:]))
    line.add_yaxis('PM2.5', PM2_5[1:])
    line.add_yaxis('PM10', PM10[1:])
    line.add_yaxis('CO', CO[1:])
    line.add_yaxis('NO2', NO2[1:])
    line.add_yaxis('SO2', SO2[1:])
    line.add_yaxis('O3', O3[1:])
    line.add_yaxis('风速', wind[1:])
    line.add_yaxis('压强', pressure[1:])
    line.add_yaxis('降水量', water[1:])
    line.add_yaxis('温度', temperature[1:])
    line.add_yaxis('湿度', humidity[1:])
    line.render('./person/12.html')
    
    • 想查看excel表格数据大致结构的可以点这里

    总结

    • Python还是很强大的!
    展开全文
  • 最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1. jfreechart-1.0.13.jar 2. jcommon-1.0.16.jar 3. gnujaxp.jar...

    最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了:

    1.       jfreechart-1.0.13.jar

    2.       jcommon-1.0.16.jar

    3.       gnujaxp.jar

     

    先来看一下,最终效果图:

     

    主要是jfreechart-1.0.13.jar,但这三个包要齐全,我已经将所有与jfreechart有关的jar包与本文实例的工程(代码)一同压缩上传了,有兴趣的同学可以下载,

    下载地址:http://download.csdn.net/detail/pzhtpf/4327700

     

    接下来,我们一步步来实现本程序。

     

    一,前期准备工作,也就把这三个第三方包添加进本文工程,添加过程特别简单,前面写过一篇博客,讲的是java如何读取Excel表格中的数据(有兴趣的同学可以看一看:http://blog.csdn.net/pzhtpf/article/details/7506135),也要添加第三方包,添加过程一模一样,这里我们在复习一遍:

    1 ,java项目,在这个项目在建立一个新的文件夹lib

    2 将上述三个jar包,复制到lib

    3然后右键点击这个java项目,选择Properties

    4在左侧列表里选中Java Build Path,右侧选中Libraries

    5点击Add JARs

    6 然后去选择这个项目中lib文件夹中的三个jar,点击确定

    成功后,项目中会多一个文件夹为:Referenced Libraries

     

    二, 实现柱形图的java代码:

    [plain]  view plain  copy
    1.   import java.awt.Font;  
    2.   
    3. import org.jfree.chart.ChartFactory;  
    4. import org.jfree.chart.ChartPanel;  
    5. import org.jfree.chart.JFreeChart;  
    6. import org.jfree.chart.axis.CategoryAxis;  
    7. import org.jfree.chart.axis.ValueAxis;  
    8. import org.jfree.chart.plot.CategoryPlot;  
    9. import org.jfree.chart.plot.PlotOrientation;  
    10. import org.jfree.data.category.CategoryDataset;  
    11. import org.jfree.data.category.DefaultCategoryDataset;  
    12.   
    13. public class BarChart {  
    14.     ChartPanel frame1;  
    15.     public  BarChart(){  
    16.         CategoryDataset dataset = getDataSet();  
    17.         JFreeChart chart = ChartFactory.createBarChart3D(  
    18.                              "水果", // 图表标题  
    19.                             "水果种类", // 目录轴的显示标签  
    20.                             "数量", // 数值轴的显示标签  
    21.                             dataset, // 数据集  
    22.                             PlotOrientation.VERTICAL, // 图表方向:水平、垂直  
    23.                             true,           // 是否显示图例(对于简单的柱状图必须是false)  
    24.                             false,          // 是否生成工具  
    25.                             false           // 是否生成URL链接  
    26.                             );  
    27.           
    28.         //从这里开始  
    29.         CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象  
    30.         CategoryAxis domainAxis=plot.getDomainAxis();         //水平底部列表  
    31.          domainAxis.setLabelFont(new Font("黑体",Font.BOLD,14));         //水平底部标题  
    32.          domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12));  //垂直标题  
    33.          ValueAxis rangeAxis=plot.getRangeAxis();//获取柱状  
    34.          rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15));  
    35.           chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));  
    36.           chart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体  
    37.             
    38.           //到这里结束,虽然代码有点多,但只为一个目的,解决汉字乱码问题  
    39.             
    40.          frame1=new ChartPanel(chart,true);        //这里也可以用chartFrame,可以直接生成一个独立的Frame  
    41.            
    42.     }  
    43.        private static CategoryDataset getDataSet() {  
    44.            DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
    45.            dataset.addValue(100, "北京", "苹果");  
    46.            dataset.addValue(100, "上海", "苹果");  
    47.            dataset.addValue(100, "广州", "苹果");  
    48.            dataset.addValue(200, "北京", "梨子");  
    49.            dataset.addValue(200, "上海", "梨子");  
    50.            dataset.addValue(200, "广州", "梨子");  
    51.            dataset.addValue(300, "北京", "葡萄");  
    52.            dataset.addValue(300, "上海", "葡萄");  
    53.            dataset.addValue(300, "广州", "葡萄");  
    54.            dataset.addValue(400, "北京", "香蕉");  
    55.            dataset.addValue(400, "上海", "香蕉");  
    56.            dataset.addValue(400, "广州", "香蕉");  
    57.            dataset.addValue(500, "北京", "荔枝");  
    58.            dataset.addValue(500, "上海", "荔枝");  
    59.            dataset.addValue(500, "广州", "荔枝");  
    60.            return dataset;  
    61. }  
    62. public ChartPanel getChartPanel(){  
    63.     return frame1;  
    64.       
    65. }  
    66. }  


     

    效果图如下:

     

    但我们把private static CategoryDataset getDataSet(){}方法中的数据变化一下后,又会形成另一种效果,比如说我们改成:

    [plain]  view plain  copy
    1. private static CategoryDataset getDataSet() {  
    2.            DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
    3.            dataset.addValue(100, "苹果", "苹果");  
    4.            dataset.addValue(200, "梨子", "梨子");  
    5.            dataset.addValue(300, "葡萄", "葡萄");  
    6.            dataset.addValue(400, "香蕉", "香蕉");  
    7.            dataset.addValue(500, "荔枝", "荔枝");  
    8.            return dataset;  
    9. }  


     

    效果图如下:

     

    三,    实现饼状图的java代码:

    [plain]  view plain  copy
    1.  package com.njue.testJFreeChart;  
    2.   
    3. import java.awt.Font;  
    4. import java.text.DecimalFormat;  
    5. import java.text.NumberFormat;  
    6.   
    7. import javax.swing.JPanel;  
    8.   
    9. import org.jfree.chart.ChartFactory;  
    10. import org.jfree.chart.ChartPanel;  
    11. import org.jfree.chart.JFreeChart;  
    12. import org.jfree.chart.labels.StandardPieSectionLabelGenerator;  
    13. import org.jfree.chart.plot.PiePlot;  
    14. import org.jfree.data.general.DefaultPieDataset;  
    15.   
    16. public class PieChart {  
    17.     ChartPanel frame1;  
    18.     public PieChart(){  
    19.           DefaultPieDataset data = getDataSet();  
    20.           JFreeChart chart = ChartFactory.createPieChart3D("水果产量",data,true,false,false);  
    21.         //设置百分比  
    22.           PiePlot pieplot = (PiePlot) chart.getPlot();  
    23.           DecimalFormat df = new DecimalFormat("0.00%");//获得一个DecimalFormat对象,主要是设置小数问题  
    24.           NumberFormat nf = NumberFormat.getNumberInstance();//获得一个NumberFormat对象  
    25.           StandardPieSectionLabelGenerator sp1 = new StandardPieSectionLabelGenerator("{0}  {2}", nf, df);//获得StandardPieSectionLabelGenerator对象  
    26.           pieplot.setLabelGenerator(sp1);//设置饼图显示百分比  
    27.         
    28.       //没有数据的时候显示的内容  
    29.           pieplot.setNoDataMessage("无数据显示");  
    30.           pieplot.setCircular(false);  
    31.           pieplot.setLabelGap(0.02D);  
    32.         
    33.           pieplot.setIgnoreNullValues(true);//设置不显示空值  
    34.           pieplot.setIgnoreZeroValues(true);//设置不显示负值  
    35.          frame1=new ChartPanel (chart,true);  
    36.           chart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体  
    37.           PiePlot piePlot= (PiePlot) chart.getPlot();//获取图表区域对象  
    38.           piePlot.setLabelFont(new Font("宋体",Font.BOLD,10));//解决乱码  
    39.           chart.getLegend().setItemFont(new Font("黑体",Font.BOLD,10));  
    40.     }  
    41.     private static DefaultPieDataset getDataSet() {  
    42.         DefaultPieDataset dataset = new DefaultPieDataset();  
    43.         dataset.setValue("苹果",100);  
    44.         dataset.setValue("梨子",200);  
    45.         dataset.setValue("葡萄",300);  
    46.         dataset.setValue("香蕉",400);  
    47.         dataset.setValue("荔枝",500);  
    48.         return dataset;  
    49. }  
    50.     public ChartPanel getChartPanel(){  
    51.         return frame1;  
    52.           
    53.     }  
    54. }  


     

    效果图如下:

     

    四,      实现折线图的java代码:

     

    [plain]  view plain  copy
    1. package com.njue.testJFreeChart;  
    2.   
    3. import java.awt.Font;  
    4. import java.text.SimpleDateFormat;  
    5.   
    6. import org.jfree.chart.ChartFactory;  
    7. import org.jfree.chart.ChartPanel;  
    8. import org.jfree.chart.JFreeChart;  
    9. import org.jfree.chart.axis.DateAxis;  
    10. import org.jfree.chart.axis.ValueAxis;  
    11. import org.jfree.chart.plot.XYPlot;  
    12. import org.jfree.data.time.Month;  
    13. import org.jfree.data.time.TimeSeries;  
    14. import org.jfree.data.time.TimeSeriesCollection;  
    15. import org.jfree.data.xy.XYDataset;  
    16.   
    17. public class TimeSeriesChart {  
    18.     ChartPanel frame1;  
    19.     public TimeSeriesChart(){  
    20.         XYDataset xydataset = createDataset();  
    21.         JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Legal & General单位信托基金价格", "日期", "价格",xydataset, true, true, true);  
    22.         XYPlot xyplot = (XYPlot) jfreechart.getPlot();  
    23.         DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();  
    24.         dateaxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));  
    25.         frame1=new ChartPanel(jfreechart,true);  
    26.         dateaxis.setLabelFont(new Font("黑体",Font.BOLD,14));         //水平底部标题  
    27.         dateaxis.setTickLabelFont(new Font("宋体",Font.BOLD,12));  //垂直标题  
    28.         ValueAxis rangeAxis=xyplot.getRangeAxis();//获取柱状  
    29.         rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15));  
    30.         jfreechart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));  
    31.         jfreechart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体  
    32.   
    33.     }   
    34.      private static XYDataset createDataset() {  //这个数据集有点多,但都不难理解  
    35.             TimeSeries timeseries = new TimeSeries("legal & general欧洲指数信任",  
    36.                     org.jfree.data.time.Month.class);  
    37.             timeseries.add(new Month(2, 2001), 181.80000000000001D);  
    38.             timeseries.add(new Month(3, 2001), 167.30000000000001D);  
    39.             timeseries.add(new Month(4, 2001), 153.80000000000001D);  
    40.             timeseries.add(new Month(5, 2001), 167.59999999999999D);  
    41.             timeseries.add(new Month(6, 2001), 158.80000000000001D);  
    42.             timeseries.add(new Month(7, 2001), 148.30000000000001D);  
    43.             timeseries.add(new Month(8, 2001), 153.90000000000001D);  
    44.             timeseries.add(new Month(9, 2001), 142.69999999999999D);  
    45.             timeseries.add(new Month(10, 2001), 123.2D);  
    46.             timeseries.add(new Month(11, 2001), 131.80000000000001D);  
    47.             timeseries.add(new Month(12, 2001), 139.59999999999999D);  
    48.             timeseries.add(new Month(1, 2002), 142.90000000000001D);  
    49.             timeseries.add(new Month(2, 2002), 138.69999999999999D);  
    50.             timeseries.add(new Month(3, 2002), 137.30000000000001D);  
    51.             timeseries.add(new Month(4, 2002), 143.90000000000001D);  
    52.             timeseries.add(new Month(5, 2002), 139.80000000000001D);  
    53.             timeseries.add(new Month(6, 2002), 137D);  
    54.             timeseries.add(new Month(7, 2002), 132.80000000000001D);  
    55.             TimeSeries timeseries1 = new TimeSeries("legal & general英国指数信任",  
    56.                     org.jfree.data.time.Month.class);  
    57.             timeseries1.add(new Month(2, 2001), 129.59999999999999D);  
    58.             timeseries1.add(new Month(3, 2001), 123.2D);  
    59.             timeseries1.add(new Month(4, 2001), 117.2D);  
    60.             timeseries1.add(new Month(5, 2001), 124.09999999999999D);  
    61.             timeseries1.add(new Month(6, 2001), 122.59999999999999D);  
    62.             timeseries1.add(new Month(7, 2001), 119.2D);  
    63.             timeseries1.add(new Month(8, 2001), 116.5D);  
    64.             timeseries1.add(new Month(9, 2001), 112.7D);  
    65.             timeseries1.add(new Month(10, 2001), 101.5D);  
    66.             timeseries1.add(new Month(11, 2001), 106.09999999999999D);  
    67.             timeseries1.add(new Month(12, 2001), 110.3D);  
    68.             timeseries1.add(new Month(1, 2002), 111.7D);  
    69.             timeseries1.add(new Month(2, 2002), 111D);  
    70.             timeseries1.add(new Month(3, 2002), 109.59999999999999D);  
    71.             timeseries1.add(new Month(4, 2002), 113.2D);  
    72.             timeseries1.add(new Month(5, 2002), 111.59999999999999D);  
    73.             timeseries1.add(new Month(6, 2002), 108.8D);  
    74.             timeseries1.add(new Month(7, 2002), 101.59999999999999D);  
    75.             TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();  
    76.             timeseriescollection.addSeries(timeseries);  
    77.             timeseriescollection.addSeries(timeseries1);  
    78.             return timeseriescollection;  
    79.         }  
    80.       public ChartPanel getChartPanel(){  
    81.             return frame1;  
    82.               
    83.         }  
    84. }  


     

    效果图如下:

     

    再来看一下主方法

    [plain]  view plain  copy
    1. import java.awt.GridLayout;  
    2.   
    3. import javax.swing.JFrame;  
    4.   
    5. public class mainClass {  
    6. public static void main(String args[]){  
    7.     JFrame frame=new JFrame("Java数据统计图");  
    8.     frame.setLayout(new GridLayout(2,2,10,10));  
    9.     frame.add(new BarChart().getChartPanel());           //添加柱形图  
    10.     frame.add(new BarChart1().getChartPanel());          //添加柱形图的另一种效果  
    11.     frame.add(new PieChart().getChartPanel());           //添加饼状图  
    12.     frame.add(new TimeSeriesChart().getChartPanel());    //添加折线图  
    13.     frame.setBounds(50, 50, 800, 600);  
    14.     frame.setVisible(true);  
    15. }  
    16. }  


     

    五,             总结

     

    以上都是一个简单的例子去实现了,想了解更深的同学可自行查询资料,其实以上代码都通俗易懂,只要结合自己的实际情况,便可开发出属于自己的Application,大家可以看出我这里是在Application上实现的,其实更多情况数据统计图在javaweb上应用更多,大家也可自行了解。

    展开全文
  • 疫情数据统计

    千次阅读 2020-02-01 22:13:14
    抓取腾讯疫情地图数据1.1 F12观察网页特点1.1.1 腾讯的疫情地图url=https://news.qq.com/zt2020/page/feiyan.htm1.1.2 F12查看google网页请求以及应答1.1.3 使用Search筛选数据包1.1.4 分析请求url以及response1.1.5...

    疫情数据统计

    武汉疫情牵动着全国人名的心,每天都关注着疫情的发展,有时候去关注做了很多的无用功,于是想着偷偷懒,只要疫情发生变化,微信将会受到消息

    1.抓取腾讯疫情地图数据

    1.1 F12观察网页特点

    1.1.1 腾讯的疫情地图url=https://news.qq.com/zt2020/page/feiyan.htm

    1.1.2 F12查看google网页请求以及应答

    在这里插入图片描述

    1.1.3 使用Search筛选数据包

    这样能快速的找到需要的数据请求的信息,能够快速定位数据
    在这里插入图片描述

    1.1.4 分析请求url以及response

    写代码时因为惯性思维,看到这个url以为这个将是post请求,最后请求的数据并不是完全的json格式,数据提取的时候纠结了返回的数据很久。。。
    URL=https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5
    在这里插入图片描述

    1.1.5使用json数据解析网址

    在这里插入图片描述

    1.2 模拟浏览器请求

    在这里插入图片描述

    2.提取关注的信息

    2.1 遇到的问题

    (1)使用post方法获得的数据一直带着如下图字符串,在这儿纠结了很久。。。晕死
    在这里插入图片描述
    结果是自己请求方法搞错了。
    (2)应答的数据虽然是json格式,但并没有按照常规出牌,尽然是一维的,在这耽误了很久,之前没注意,一直试着常规的方法访问字典,再仔细看看下面数据中的引号(“”),真的是柳暗花明又一村
    在这里插入图片描述(3)访问了data的值之后数据是str类型,不过文本内容任然是字典的格式,于是使用函数将文本转化成字典格式
    在这里插入图片描述

    2.2 提取全国、湖南省等疫情信息

    由于返回的数据是已经排序的数据,因此需要查找需要的数据

            for i in range(len(dict_data["areaTree"][0]["children"])):
                if dict_data["areaTree"][0]["children"][i]["name"]=="湖南":
                    for j in range(len(dict_data["areaTree"][0]["children"][i]["children"])):
                        if dict_data["areaTree"][0]["children"][i]["children"][j]["name"]=="衡阳":
                            index1=i
                            index2=j
                            break
    

    3.使用server酱接收微信消息

    3.1 推荐一款好用的微信提醒工具

    在这里插入图片描述

    3.2 使用server酱服务效果图

    在这里插入图片描述

    4.阿里云服务器部署py脚本

    4.1 阿里云服务器运行

    自己以前都没有接触过Linux,为了补充知识面,买了阿里云的学生特价服务器,想借此练手,于是百度了很多关于py脚本如何在Ubuntu服务器后台运行,Ubuntu初始就装载了python2.7和python3.5版本,这就方便了我们的程序运行。Linux学习进行中~~请多指教
    (1)使用Xshell上传py文件
    在这里插入图片描述(2)Linux指令后台运行脚本
    在这里插入图片描述

    5.源码分享

    import requests
    import json
    import time
    def post_data():
        url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
        chrome_info={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0'}
        re1=requests.get(url,headers=chrome_info)
        data1=re1.json()
        #print(data1)
        data=json.loads(data1["data"])
        #print(data)
        print("爬取信息")
        return data
    if __name__=="__main__":
        #调用腾讯疫情地图接口API
        signal=0
        while True:
            dict_data=post_data()
            for i in range(len(dict_data["areaTree"][0]["children"])):
                if dict_data["areaTree"][0]["children"][i]["name"]=="湖南":
                    for j in range(len(dict_data["areaTree"][0]["children"][i]["children"])):
                        if dict_data["areaTree"][0]["children"][i]["children"][j]["name"]=="衡阳":
                            index1=i
                            index2=j
                            break
            if signal!=dict_data["chinaTotal"]["confirm"]:
                url = "https://sc.ftqq.com/SCU62999Td6e569532603a70f16b3fc9955667e085d907316d5ed1.send"
                form_data={
                    'text':dict_data["lastUpdateTime"]+'疫情信息',
                    'desp':["全国数据\n确诊数%s 待确诊%s 死亡人数%s 治愈人数%s"%(dict_data["chinaTotal"]["confirm"],dict_data["chinaTotal"]["suspect"],dict_data["chinaTotal"]["dead"],dict_data["chinaTotal"]["heal"])+'-------------------------------------------------'+
                        "湖南省汇总数据\n确诊数%s 待确诊%s 死亡人数%s 治愈人数%s" % (dict_data["areaTree"][0]["children"][index1]["total"]["confirm"],
                                                                    dict_data["areaTree"][0]["children"][index1]["total"]["suspect"],
                                                                    dict_data["areaTree"][0]["children"][index1]["total"]["dead"],
                                                                    dict_data["areaTree"][0]["children"][index1]["total"]["heal"])+'-------------------------------------------------'+
                            "衡阳总计\n确诊人数%s 待确诊人数%s 死亡人数%s 治愈人数%s"%(dict_data["areaTree"][0]["children"][index1]["children"][j]["total"]["confirm"],dict_data["areaTree"][0]["children"][index1]["children"][j]["total"]["suspect"],dict_data["areaTree"][0]["children"][index1]["children"][j]["total"]["dead"],dict_data["areaTree"][0]["children"][index1]["children"][j]["total"]["heal"])+'-------------------------------------------------'+
                            "衡阳今日数据\n新增确诊人数%s 新增待确诊人数%s 新增死亡人数%s 新增治愈人数%s" % (
                            dict_data["areaTree"][0]["children"][index1]["children"][index2]["today"]["confirm"],
                            dict_data["areaTree"][0]["children"][index1]["children"][index2]["today"]["suspect"],
                            dict_data["areaTree"][0]["children"][index1]["children"][index2]["today"]["dead"],
                            dict_data["areaTree"][0]["children"][index1]["children"][index2]["today"]["heal"])
                        ]
                        }
                send = requests.post(url,data=form_data)
                print("发送消息成功")
            signal = dict_data["chinaTotal"]["confirm"]
            time.sleep(60)
    
    展开全文
  • 在系列博文的中,虽然我们已经学习了自定义绘图的颜色和样式,以使得绘制更加精美、符合审美要求,同时也讲解了注释的用法,但是,很多时候我们还要对坐标轴进行自定义,以满足学习或工作的要求,使统计图变得清晰...
  • 一个完整的数据分析流程,应该包括以下几个方面,建议收藏此仔细阅读。 ...了解数据采集的意义在于真正了解数据的原始面貌,包括数据产生的时间、条件、格式、内容、长度、限制条件等。这会帮...
  • 先做出柱形,然后选择一个项目的柱形,右键-选择图表类型- 选择折线就行了选择一个数据系列做成一种图形,比如柱型,再选择一种数据拖进中,右键设置数据系列,改变其图表类型就OK了。先选柱状 画出两个柱状...
  •   在进行数据分析时,为了直观显示成绩分布规律,即是正态,正偏态和负偏态三种分布状态,可以画总分及各学科的正态分布,其作用一是对学生进行比较,通过分布曲线,可以分析出学生成绩是不是存在两极分化(两头...
  • Echarts地图省市跳转数据展示

    千次阅读 热门讨论 2017-02-08 14:18:34
    介于前一段时间做了省市地图跳转的东西,遇到了一些问题,如今做...一、数据准备 1、各省份对应的数据; 2、各城市对应的数据; 二、地图js下载 1、http://echarts.baidu.com/download-map.html 此页面提供了中国地图、
  • 使用Echarts、Servlet进行一个后台数据的前台统计显示 前几天需要做一个前台统计的页面,大概内容就是后台给数据...这个组件可以显示各种统计图。该组件链接在这里Echarts官网。你可以在上面自行选择下载相应js文件...
  • 所以本篇文章的重点是分析思路+数据处理+可视化的实现,因为数据来源于网络,所以不做深入解析。 需求说明 分析某电商企业销售趋势,找到影响销售增长的因素。同时分析不同市场产品销售状况,找到不同市场的销售差异...
  • R语言——数据格式数据读取

    千次阅读 2020-12-07 19:12:20
    今天分享的是R数据的储存数据格式,及其R中数据的输出与一些特定格式数据读入。 一、数据集结构 数据集是由数据构成的一个矩形数组,行表示观测,列表示变量。 R拥有的数据结构有: 类型 特点 标量 只含...
  • 4 描述性统计量和统计图

    万次阅读 2017-02-08 11:28:26
     统计图包括箱线图、直方图、经验分布函数图、正态概率图、P-P图和Q-Q图。 本章以下表中的数据示例,对其进行操作演示。 1 .描述性统计量包括均值、方差、标准差、最大值、最小值、极差、中位数、分位数、众数、...
  • 利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。 一、建立或网络 1.手动创建无向 在PythonWin 的Shell里...
  • Python进行Excel数据统计

    千次阅读 2020-04-29 21:04:47
    有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特功能...
  • Echarts折线获取数据库数据展示

    千次阅读 2020-05-23 15:56:38
    Echarts折线获取mysql中的数据展示
  • 今天有空,把项目中用到的几个报表图形拿出来分享一下。 主要是饼图和柱状,结合点击事件获取点击的数据
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    上次发操作系统笔记,很快浏览上万,这次数据结构比上次硬核的多哦,同样的会发超硬核代码,关注吧。
  • Druid (大数据实时统计分析数据存储)

    万次阅读 2016-12-18 09:48:14
    原文见此 : Druid White PaperDruid 是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级...
  • 例如:数据获取 - 数据清洗 - 中文分词 - 去除停用词 - 词频统计 - 词云 - 情感分析 数据获取 工具:八爪鱼采集器 链接:下载 使用: 1、 下载压缩包并解压 2、 点击 .exe 文件安装 3、 使用模板采集数据/...
  • 因为需求对导出表格的数据格式和样式有要求,所以这个导出功能放到后端来做,而且后端返回的是数据流,所以需要处理成想要的表格并导出来。 先看下效果: 页面效果: 点击 导出Excel 调用导出接口成功了: ...
  • 公司是前后端分离开发,考虑到前端的朋友更方便取值,本来写的查询方法返回的是下面的对象格式,所以要改成ECharts实例上的格式。 { "code": 1000, "total": null, "rows": null, "message": "SUCCESS", "data...
  • 选取el-date-picker中的自定义时间、点击本周、本月、本年时,将数据显示在饼图中这里的需求是:选取el-date-picker中的自定义时间、点击本周、本月时,折线的X轴(时间轴)返回的日期格式是每天的统计量 ...
  • 从日志统计到大数据分析

    万次阅读 2016-12-22 16:44:46
    桑文锋,神策数据创始人&CEO,前百度大数据部技术经理。2007年浙大研究生毕业后加入百度,从2008年开始从事数据方向,从零构建了百度的用户日志大数据处理平台。2015年4月从百度离职,创建神策数据,帮助客户实现...
  • C语言数字图像处理---1.1图像的像素格式与图像读写

    万次阅读 多人点赞 2019-12-25 10:06:22
    由于stb源代码中本身对于bmp和jpg格式返回24位三通道图像数据的,为了方便初学者学习,笔者统一将其扩充为了32位bgra格式,完整的封装代码如下: #include"f_SF_ImgBase_RW.h" #define STB_IMAGE_...
  • Mysql 统计最近七天内的数据并分组

    万次阅读 多人点赞 2018-11-08 11:01:39
    本文的核心内容:Mysql 统计最近七天内的数据并按天分组。
  • python 爬取博客访问量并且统计数据

    千次阅读 多人点赞 2017-10-15 11:04:55
    萌生思路写了csdn博客已有半年之久了,虽然一直当做笔记记录自己的技术成长,但是发现有一个博客的访问量,这点还是挺吸引人的,于是打算做一个数据统计,看看究竟是哪些日子的数据量增长的较快。。 有了思路好说...
  • 文章目录1、导入数据2、直接选中观察统计结果3、分类统计4、选择分类的类别5、更改结果的显示小数位6、通过全局变量更改结果显示 ===============================================================================...
  • 性能:良好的模型能帮我们快速查询需要的数据,减少数据的IO吞吐 成本:减少数据冗余、计算结果复用、从而降低存储和计算成本 效率:改善用户使用数据的体验,提高使用数据的效率 改善统计口径的不一致性,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,390
精华内容 54,956
关键字:

统计图数据返回格式