在柱形图顶部绘制一条线
问题描述:
显然,不可能有几个独立的水平轴。在柱形图顶部绘制一条线
我想实现的是:
- 显示柱状图,通过它(顶部任何类别
- 覆盖线(实际上是一个水平线)组织,以显示某种阈值)
我试着做以下几点:
[Bindable] public var columnsDataProvider : ArrayCollection =
new ArrayCollection([{"Category" : "Cat1", "Value" : 10},
{"Category" : "Cat2", "Value" : 20}]);
[Bindable] public var lineDataProvider : ArrayCollection =
new ArrayCollection([{"X" : 0, "Y" : 10},
{"X" : 1, "Y" : 10}]);
...
<mx:ColumnChart id="columnChart"
showDataTips="true"
columnWidthRatio="0.5"
paddingTop="10"
paddingLeft="5" paddingRight="5"
width="100%" height="100%">
<mx:horizontalAxis>
<mx:CategoryAxis dataProvider="{columnsDataProvider}" categoryField="Category"/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries id="series1" yField="Value" xField="Carrier" dataProvider="{columnsDataProvider}">
<mx:horizontalAxis>
<mx:CategoryAxis id="axis1" categoryField="Category"/>
</mx:horizontalAxis>
</mx:ColumnSeries>
<mx:LineSeries id="series2" yField="Y" xField="X" dataProvider=" {lineDataProvider}">
<mx:horizontalAxis>
<mx:LinearAxis id="axis2"/>
</mx:horizontalAxis>
</mx:LineSeries>
</mx:series>
这是最接近我想要的东西,但该行不启动跨所有图形垂直(这是只画出了我的条形图的两列之间)。
是否可以定义完全独立的水平轴?我也尝试直接在画布上绘制,但canvas.lineTo()方法只能在“数据”坐标中起作用;我需要在“chart/canvas/absolute/whatever”坐标下工作的东西。
对此有何帮助?
感谢 PH
答
<mx:ColumnChart id="columnChart" dataProvider="{columnsDataProvider}"
showDataTips="true" columnWidthRatio="0.5"
paddingTop="10"
paddingLeft="5" paddingRight="5"
width="100%" height="100%">
<mx:horizontalAxisRenderers>
<mx:AxisRenderer axis="{h1}" />
<mx:AxisRenderer axis="{h2}" visible="false" />
</mx:horizontalAxisRenderers>
<mx:verticalAxis>
<mx:LinearAxis id="v1"/>
</mx:verticalAxis>
<mx:series>
<mx:ColumnSeries id="series1" yField="Value" xField="Category">
<mx:horizontalAxis>
<mx:CategoryAxis id="h1" categoryField="Category"/>
</mx:horizontalAxis>
</mx:ColumnSeries>
<mx:LineSeries yField="Y" xField="X" dataProvider="{lineDataProvider}">
<mx:horizontalAxis>
<mx:LinearAxis id="h2" maximum="1"/>
</mx:horizontalAxis>
</mx:LineSeries>
</mx:series>