`
sheva.wen
  • 浏览: 38801 次
  • 性别: Icon_minigender_1
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

Linechart使用中的细节(1)

    博客分类:
  • Flex
阅读更多

在项目中用了Flex,较多的使用了LineChart,遇到问题能查到文章真的很少,尤其是中文的,幸亏官方的文档写的“生动”,项目才算交差。

闲下来,想把一些细节写写,供大家查阅。讲的Linechart,其实所有的Chart控件都很相似,总是由两个轴(horizontalAxis and verticalAxis)和数值组成的。

1、关于创建日期型横轴的细节

较常见的一种形式是横轴是一段时间,纵轴是被描述的值。如果是在数据量和时间密度不大的情况下,没有必要把数据库中取出的时间串转化为日期型。但面对大跨度的时间,而其数值又分布密集,横轴标的日期显示起来就会小到看不清。这时最合理的解决方式可能是用DateTimeAxis中的dataUnits(时间显示单元,就是横轴上显示的最小时间间隔)。这要求首先LineChart的xField必须转化成日期型。Date对象是支持从日期样式的串构造的,但是有限的几种:

  • Day Month Date Hours:Minutes:Seconds GMT Year (for instance, "Tue Feb 1 00:00:00 GMT-0800 2005", which matches toString())
  • Day Month Date Year Hours:Minutes:Seconds AM/PM (for instance, "Tue Feb 1 2005 12:00:00 AM", which matches toLocaleString())
  • Day Month Date Year (for instance, "Tue Feb 1 2005", which matches toDateString())
  • Month/Day/Year (for instance, "02/01/2005")
  • Month/Year (for instance, "02/2005")

    郁闷的是SqlServer 2000支持的日期输出形式没有一个符合的,还好DateTimeAxis支持串到日期的转化:

    xml 代码
    1. <mx:horizontalAxis>  
    2.     <mx:DateTimeAxis id="dateAxis"  displayName="观测时间" parseFunction="{parseToDate}" title="观测时间"/>  
    3. mx:horizontalAxis>  
    as 代码
    1. private function parseToDate(s:String):Date{   
    2.                    //s = "2007-10-15 20:15"   
    3.     var temp:Array = s.split(" ");   
    4.      var datepart:String = temp[0];   
    5.      var datearray:Array = datepart.split("-");   
    6.      var timepart:String = temp[1];   
    7.       var timearray:Array = timepart.split(":");   
    8.       var newDate:Date = new Date(datearray[0],datearray[1],datearray[2],timearray[0],timearray[1]);   
    9.       return newDate;   
    10. }  

    这样根据时间跨度的大小,可以调整横轴时间最小时间间隔的大小。如果反映一年的数据,就可以将dataUnits设置为Months,如果反映一个月或几十天的数据就可以将dataUnits设置为days,以此类推。

    该发到哪里呢??找了所有分类都没有Flex,既然是RIA的技术就发到这里AJAX里好了。

  • 分享到:
    评论
    4 楼 sheva.wen 2007-12-14  
    @takiz
    你提到的图表不知道是什么样子,但这样的Label应该不是Datatime型的。
    LineChart的宽高随着坐标轴区间的数量而变化可以通过判断数据源的节点数来控制。
    3 楼 takiz 2007-12-11  
    我想问如何能把datetimeaxis用在一个成长型图表上,例如:底下的label必须是6个月,1年,2年,3年,5年,7年,10年,15年,20年......
    然后linechart的宽度是随着变宽? 目前在烦恼着这类图表该如何构造
    2 楼 sheva.wen 2007-11-10  
    @lwz7512
    1 楼 lwz7512 2007-11-09  
    作者,好文章,非常详细,希望以后能见到更多这样的开发心得。

    相关推荐

      linechart.rar

      在本项目中,"linechart.rar" 是一个包含Vue.js应用程序的压缩文件,主要用于演示如何使用canvas元素动态绘制折线图。Vue.js是一个流行的前端框架,它提供了组件化开发、数据绑定和响应式更新等功能,使得构建用户...

      LineChart C#划曲线图

      这个控件是.NET Framework的一部分,位于System.Windows.Forms命名空间下,它提供了丰富的图表类型,包括线性图(LineChart)、柱状图(Histogram)和饼图(PieChart)。通过灵活地配置和设置各种属性,我们可以定制...

      Ireport line chart 如何只顯示最後一筆資料的LABEL1

      在完成自定义的CategoryItemLabelGenerator后,我们需要将其设置到LineChart的`categoryItemLabelGenerator`属性上。这通常可以通过IReport的GUI界面完成,或者在JRXML文件中进行配置。 最后,我们还可以使用...

      android 绘制折线图(AChartEngine)Linechart 动态更新横轴为获取的当前时间

      在这个场景中,我们将探讨如何使用`AChartEngine`库来绘制一个动态更新横轴为当前时间的折线图,即`LineChart`。 首先,我们需要了解`AChartEngine`的基础概念。`AChartEngine`提供了一系列的类和方法,使得开发者...

      MpAdnroidChart:LineChart演示

      首先,需要在布局文件中添加一个`View`来承载`LineChart`,然后在Java代码中找到这个`View`并将其转换为`LineChart`对象: ```java LineChart lineChart = findViewById(R.id.line_chart); ``` 3. **数据准备**...

      MPChart安卓中文文档157副本3.zip

      1. **图表类型丰富**:支持折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、雷达图(RadarChart)、散点图(ScatterChart)等多种图表类型,满足多种数据可视化需求。 2. **自定义程度高**:开发者...

      Android studio实现折线图

      在对应的Activity或Fragment中,找到图表容器并初始化`LineChart`对象: ```java LineChart lineChart = findViewById(R.id.line_chart_container); lineChart.setDrawGridBackground(false); // 可选:隐藏网格...

      open-flash-chart中文使用参数对照表

      ### Open Flash Chart 中文使用参数对照表详解 #### 一、概述 Open Flash Chart(简称 OFC)是一款基于 Flash 的图表绘制工具,以其强大的图表功能和简易的操作方式,在 Web 应用开发中得到了广泛的应用。它支持...

      少儿编程Scratch第23讲: 数据可视化:线图V1.0- 列表、图章、画笔、滑行(Line Chart).pdf

      【少儿编程Scratch第23讲】主要讲解的是如何利用Scratch进行数据可视化,特别是创建线图(Line Chart)的方法。线图是一种常见的数据展示方式,尤其适合展示数据随时间的变化趋势。在这个教程中,作者选择了北京12...

      android chart MPchart

      1. 多种图表类型:MPChart提供了多种图表类型,包括LineChart(折线图)、BarChart(柱状图)、PieChart(饼图)、ScatterChart(散点图)、RadarChart(雷达图)等,满足不同数据展示需求。 2. 数据绑定:MPChart...

      Winfrom Chart 实时数据、滚动、缩放

      在Windows Forms应用开发中,`Chart`控件是一种强大的可视化工具,用于展示各种类型的数据,如柱状图、折线图、饼图等。本文将深入探讨如何利用`Winform Chart`实现实时数据的更新、图表的滚动以及缩放功能。 ### 1...

      Android MPAndroidChart不同区域背景颜色不同,点的颜色不同

      LineChart chart = findViewById(R.id.chart); chart.getAxisLeft().setDrawGridLines(false); chart.getXAxis().setDrawGridLines(false); chart.setDrawGridBackground(false); chart.setNoDataText("无数据"); /...

      动态曲线图.zip

      在对应的Activity或Fragment中,获取并初始化这个`LineChart`对象,设置必要的配置,比如描述文字、数据集、轴样式等: ```java LineChart lineChart = findViewById(R.id.line_chart); lineChart.setDescription(...

      Amazing WPF chart

      1. **丰富的图表类型**:该库涵盖了多种常见的图表类型,包括折线图(Line Chart)、柱状图(Bar Chart)、饼图(Pie Chart)、面积图(Area Chart)、散点图(Scatter Chart)等,满足不同场景下的数据展示需求。...

      HelloCharts for android

      要在项目中使用HelloCharts,首先需要将库文件添加到项目中。在Android Studio中,可以通过Gradle依赖方式引入。在项目的build.gradle文件中添加以下代码: ```groovy dependencies { implementation '...

      C#chart图表源码

      在C#项目中使用Chart控件,首先需要通过NuGet包管理器安装`System.Windows.Forms.DataVisualization`库。然后在程序中添加对`using System.Windows.Forms.DataVisualization.Charting;`命名空间的引用。 3. **创建...

      iPhone Chart XCode Project and Source Code

      5. **线图(Line Chart)**:线图用于显示数据的变化趋势,常用于时间序列数据。实现线图可能涉及到描点、连接点、平滑曲线等技术,需要对坐标系统有深入理解。 6. **柱状图(Bar Chart)**:柱状图用于比较不同...

      chart报表示例

      1. **引入库**:在项目中引用Microsoft Chart Controls的库文件,通常在Visual Studio中可以通过添加引用的方式完成。 2. **设计界面**:在设计界面中添加Chart控件,并设置其大小和位置。可以通过属性窗口调整图表...

      Android 可拖动的折线图

      在Android-LineChart-master这个项目中,你可能会找到具体的实现示例和更多细节,包括如何处理数据源、绘制自定义视图以及优化性能等方面。通过研究源代码,你可以更好地理解和掌握Android折线图的动态交互实现。

      MPandroidChart简单实用的demo

      例如,如果我们要创建一个线图,我们可以使用LineChart。以下是如何创建一个基本线图的步骤: 1. **初始化Chart对象**: 在XML布局文件中添加一个View,并在代码中找到它,然后将其转换为LineChart。 ```xml ...

    Global site tag (gtag.js) - Google Analytics