Anychart图表系列九之Dashboard

系统 1535 0

Dashboard中文释义为仪表盘、控制台,这个用词很生动,它指的是多个图组合在一起的效果,就像模具工作中的操作台一样由多种图形仪器组成。

 在项目中,特别是高管平台,领导看重的是多套数据的汇总,所以dashboard更为重要,下例是一个典型的dashboard,后面就从它入手,介绍dashboard的使用。

Anychart图表系列九之Dashboard
 

第一步,创建<dashboard>,要创建多图整合,就必须在XML中定义<dashboard>标签,他位置根标签<anychart>之后,与<charts>标签同级。下面代码看字面意思都懂,不做详细讲述了。

 

      <dashboard>
  <view type="Dashboard">
    <margin all="10" left="0" right="0" />
    <title>
      <text>Dashboard Sample Title</text>
    </title>
    <background enabled="true">
      <border enabled="true" />
    </background>
  </view>
</dashboard>
    
 

 

第二步,定义<hbox>和<vbox>布局容器,在有了dashboard之后,就需要定义图形的排列布局,<vbox>是上下布局,<hbox>是水平左右布局,所以如果要达到上图那种效果则需要先定义一个上下布局再定义水平布局:

 

        <dashboard>
    <view type="Dashboard">
      <title enabled="False" />
	  <vbox height="100%" width="100%">
        <hbox width="100%" height="50%">
			<图1/>
			<图2/>
		</hbox>
		<hbox width="100%" height="50%">
			<图3/>
		</hbox>
      </vbox>
    </view>
  </dashboard>
    
 

 

第三步,定义图来源和图大小,从示例中可以看到,一个dashboard总共有3个图,上面两个左右排列,左边的图占用整体的50%高度和70%宽度,右边占用50%高度和30%宽度,要设置图来源就必须使用<view>标签:view标签的type设置为Chart表示一个图,source对应<chart>标签的name属性,height和width自然不用介绍了,通过这样设置,一个简单的布局和图就出来了。

      <?xml version="1.0" encoding="UTF-8"?>
<anychart>
  <dashboard>
    <view type="Dashboard">
      <title enabled="False" />
	  <vbox height="100%" width="100%">
        <hbox width="100%" height="50%">
			<view type="Chart" source="chart2" height="100%" width="70%" />
			<view type="Chart" source="chart1" height="100%" width="30%" />
		</hbox>
		<hbox width="100%" height="50%">
			<view type="Chart" source="chart3" height="100%" width="100%" />
		</hbox>
      </vbox>
    </view>
  </dashboard>
  <charts>
    <chart plot_type="pie" name="chart1">
      <data>
        <series type="Pie" palette="default">
          <point name="Item 1" y="10" />
          <point name="Item 2" y="20" />
          <point name="Item 3" y="30" />
        </series>
      </data>
      <chart_settings>
        <title>
          <text>Pie Chart</text>
        </title>
        <chart_background>
          <border type="Solid" color="#CCCCCC" thickness="1" />
          <corners type="Square" />
          <effects enabled="false" />
          <inside_margin all="10" top="5" />
        </chart_background>
      </chart_settings>
    </chart>
    <chart name="chart2">
      <data>
        <series name="Line series" type="Line">
          <point name="Item 1" y="10" />
          <point name="Item 2" y="35" />
          <point name="Item 3" y="60" />
          <point name="Item 4" y="75" />
          <point name="Item 5" y="90" />
        </series>
        <series name="Bar series" type="Bar">
          <point name="Item 1" y="90" />
          <point name="Item 2" y="75" />
          <point name="Item 3" y="50" />
          <point name="Item 4" y="35" />
          <point name="Item 5" y="10" />
        </series>
      </data>
      <chart_settings>
        <title>
          <text>Combined Chart</text>
        </title>
        <chart_background>
          <border type="Solid" color="#CCCCCC" thickness="1" />
          <corners type="Square" />
          <effects enabled="false" />
          <inside_margin all="10" top="5" />
        </chart_background>
      </chart_settings>
    </chart>
    <chart name="chart3" plot_type="CategorizedVertical">
      <data_plot_settings default_series_type="Bar">
        <bar_series>
          <tooltip_settings enabled="True" />
        </bar_series>
      </data_plot_settings>
      <data>
        <series name="Quarter 1">
          <point name="John" y="10000" />
          <point name="Jake" y="12000" />
          <point name="Peter" y="18000" />
          <point name="James" y="11000" />
          <point name="Mary" y="9000" />
        </series>
        <series name="Quarter 2">
          <point name="John" y="12000" />
          <point name="Jake" y="15000" />
          <point name="Peter" y="16000" />
          <point name="James" y="13000" />
          <point name="Mary" y="19000" />
        </series>
      </data>
      <chart_settings>
	    <chart_background>
          <border type="Solid" color="#CCCCCC" thickness="1" />
          <corners type="Square" />
          <effects enabled="false" />
          <inside_margin all="10" top="5" />
        </chart_background> 
        <title enabled="false" />
        <axes>
          <y_axis>
            <title>
              <text>Sales</text>
            </title>
            <labels>
              <format>{%Value}{numDecimals:0}</format>
            </labels>
          </y_axis>
          <x_axis>
            <title>
              <text>Manager</text>
            </title>
          </x_axis>
        </axes>
      </chart_settings>
    </chart>
  </charts>
</anychart>
    

 

 

 有点特殊的是仪表图的dashboard,如果想在一个anychart中显示多个仪表图,则只需要设置每一个仪表图的x和y属性来定义图表的位置。从左上角开始第一个坐标为x=0,y=0;右上角为x=100,y=0;左下角为x=0,y=100,依次类推这样整个仪表图就出来。

      <?xml version="1.0" encoding="UTF-8"?>
<anychart>
  <gauges>
    <gauge>
      <circular x="0" y="0" width="30" height="50">
      </circular>
      <circular x="33.3" y="0" width="30" height="50">
      </circular>
      <circular x="66.6" y="0" width="30" height="50">
      </circular>
      <linear x="0" y="50" width="33.3" height="50">
      </linear>
      <linear x="33.3" y="50" width="33.3" height="50">
      </linear>
      <linear x="66.6" y="50" width="33.3" height="50">
      </linear>
    </gauge>
  </gauges>
</anychart>
    

 最终效果如下图所示


Anychart图表系列九之Dashboard
 

Anychart图表系列九之Dashboard


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论