全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
Flex图表组件主要由图表(Chart)和序列(Series)组成,其中图表用于定义一个或者两个数据源,图标类型,并且设定数据提示,数据流样式和坐标轴样式等;图表序列则指定数据源中哪些数据需要在图标上面显示,并且设定数据留的走势、填充和皮肤。一个图表组件对应一个图表控件类和一个图表序列类,其对应关系如下表所示:
表1 图表控件与图标序列
图 表 类 型 |
图表组件类 |
图表序列类 |
面积图(Area) |
AreaChart |
AreaSeries |
条形图(Bar) |
BarChart |
BarSeries |
柱状图(Column) |
ColunmChart |
ColumnSeries |
折线图(Line) |
LineChart |
LineSeries |
饼图(Pie) |
PieCahrt |
PieSeries |
散点图(Plot) |
PlotChart |
PlotSeries |
气泡图(Bubble) |
BubbleChart |
BubbleSeries |
蜡烛图(Candlestick) |
CandlestickChart |
CandlestickSeries |
HLOC图(HighLowOpenClose) |
HLOCChart |
HLOCseries |
Flex图表组件还包括轴线(Axes),轴线用于设定坐标轴的类型、标签、题目和样式属性等。Flex 4的图表组件支持下列类型的坐标轴:
lCategoryAxis:对应一组数值到坐标轴上
lLinearAxis:在图表轴的最小值和最大值之间均匀映射数字数值。
lLogAxis:以对数方式将数值映射到图表轴的最小值和最大值之间。
lDateTimeAxis:沿图表轴在最大值和最小值之间均匀地映射时间值。
在MXML程序中创建图表的主要内容有以下几点:
(1)定义图表组件。
Flex 4中的图表组件是Halo组件,所以使用mx命名空间。
(2)定义序列。
图表的序列定义包含在<mx:Series></mx:Series>标签中,每个图表类型都有自己的序列名。
(3)定义水平轴与垂直轴。
使用<mx:horizontalAxis>标签为水平轴上的项定义标签、刻度线和数据位置,使用<mx:verticalAxis>标签为垂直轴上的项定义标签、刻度线和数据位置。
(4)定义样式。
在Flex 4中主要使用图片组件的horizontalAxisRenderers属性指定数据如何沿水平轴显示,使用verticalAxisRenderers属性指定数据如何沿垂直轴显示。
(5)添加格栅线和其他元素。
Flex 4中使用annotationElements属性,设置显示在图表呈示的任何数据系列上方的图表元素数组。
(6)定义图例。
使用Legend组件可向图表中添加图例,用于对图表进行说明。
以面积图为例说明在MXML程序中创建图表的步骤如下:
(1)新建MXML程序文件后,切换到设计视图并拖动布局类组件Panel到界面中,给Panel组件添加标题“Area_Chart例子”,其效果等同于在源代码视图内输入源代码(4.6版本已更改为Spark类,定义时以s开头):
<s:Panelx="43" y="10" width="383" height="428"title="Area_Chart例子">
</s:Panel>
(2)在设计视图中拖动AreaChart组件到Panel组件界面内,默认AreaChart组件会自动设定series和图例Legend,代码如下所示:
<mx:AreaChartid="areachart1">
<mx:series>
<mx:AreaSeries displayName="Series1" yField=""/>
</mx:series>
</mx:AreaChart>
<mx:LegenddataProvider="{areachart1}"/>
将AreaChart组件的id改为自定义的id值。设定dataProvider属性绑定前面定义的areaChartData变量“{expenses}”,如下所示:
dataProvider="{ expenses }" >
设定属性showDataTips=“true”,这样当鼠标移动到图表线的拐点处时将显示数据提示内容。
(3)为图表设置水平轴与序列,代码如下:
<mx:horizontalAxis>
<mx:CategoryAxisdataProvider = "{expenses}" categoryField="Month" />
</mx:horizontalAxis>
<mx:series>
<mx:AreaSeries yField="Expenses"displayName="开销" form="segment" />
<mx:AreaSeries yField="Profit"displayName="利润" form="curve" />
</mx:series>
其中,AreaSeries的yField属性设置为数据源中的Profit和Expenses字段,字段值即为对应数据点的y坐标。form属性分别设置为curve和segment,表示数据点之间绘制的是曲线和折线。
(4)在AreaSeries中还可以设置areaStroke属性显示的边缘线的颜色以及areaFill属性填充区域的颜色。
通过以上主要步骤在MXML应用程序文件中编辑代码,点击运行就可以生成如下图所示的面积图表:
图1 Flex生成的面积图表
然而,我们发现图表中有“遮挡”现象,原因是程序默认设置面积图表是不透明的,这样当两个系列的数据叠加在一起时就容易出现遮盖。要正常显示两个系列的数据,就要设置图表填充为透明。具体做法是在MXML文件的<Declarations>标签中先定义要填充颜色的透明度,然后在定义数据系列中引用这个透明度即可。经过修改透明度后运行程序结果如下图所示:
图2 设定透明度后的面积图表