在Flex几个通用Chart图形中画指定值的线条(指定刻度的线条)


  在Flex几个通用Chart图形中画指定值的线条(指定刻度的线条)
  问题来源:业务上要为Flex ColumnChart中画出一个以0这刻度的临界线。
  问题分析:但是对Chart的backgroundElements中默认是GridLines,没有可用的用于指定刻度的线条,于是自己加了个HRule对象。
  问题解决:加入HRule,设置它不同于GridLines的颜色,当然可以通过strokeWidth设置它的宽度,默认是2px,最重要的是设置它的位置。如下详细分析:
  算出刻度的最大值和最小值:
  va.minimum = 38.6
  va.maximum = 41.400000000000006
  算出所画容器的高度:
  Father componnet height = 475
  想像图:
  
  于是分析得到如下位置计算公式:
  y="{(((axis_score.maximum + axis_score.minimum) / 2 - 0) / (axis_score.maximum - axis_score.minimum)) * cs_3.height}"
  关键解决代码:          问题推广:本文只设计了HRule是横向的线条,同理,可以很方便设计出纵向的线条,可以指定在哪一个值的刻度线或叫作临界线,当然还可以添加多条指定值的线。
  可以运行的Demo代码:                             height="100%">                            Demo效果图:
  

猜你喜欢

转载自bz442bz.iteye.com/blog/1574188