【问题标题】:Flex: How to add horizontal axes to a chart?Flex:如何在图表中添加水平轴?
【发布时间】:2009-04-28 23:01:46
【问题描述】:

我有一个动态创建的图表,我需要在脚本中添加水平轴和垂直轴。我无法将图表放入 MXML,因为我正在动态更改图表类型、删除和创建新图表。因此,我用来创建图表的变量(chartBase 的一个实例)既没有水平轴也没有垂直轴。如果它们不存在,我如何分配给它们?我应该使用不同的类型吗?我要使用的图表是线形、条形和 HLOC 和/或烛台。

【问题讨论】:

    标签: apache-flex charts actionscript


    【解决方案1】:

    我认为通过将图表实例化为适当的类型会获得更好的结果。

    例如,在一个组件中,我在 mxml 中有一个骨架 lineChart 设置...

    <mx:LineChart id="lineChart" dataProvider="{chartData}" dataTipFunction="dataTipFunction"
        width="100%"
        height="100%"
        showDataTips="true"
        />
    

    ...但您可以将其创建为变量并将其添加到容器中。然后对于轴,我确定我想要的类型并创建并应用它们,这是我用于水平轴的一些代码...

    // Setup new horizontal axis.
    switch (hAxisFieldsComboBox.selectedItem.dataType)
    {
        case "Date":
            var hDtAxis:DateTimeAxis = new DateTimeAxis();
            hDtAxis.title = hAxisFieldsComboBox.selectedItem.label;
            hDtAxis.dataUnits = "days";
            hDtAxis.dataInterval = 1;
            hDtAxis.parseFunction = dateParser;
            lineChart.horizontalAxis = hDtAxis;
            break;
        case "Time":
            var hTAxis:DateTimeAxis = new DateTimeAxis();
            hTAxis.title = hAxisFieldsComboBox.selectedItem.label;
            hTAxis.dataInterval = 1;
            hTAxis.parseFunction = timeParser;
            lineChart.horizontalAxis = hTAxis;
            break;
        case "Number":
            var hLAxis:LinearAxis = new LinearAxis();
            hLAxis.title = hAxisFieldsComboBox.selectedItem.label;
            hLAxis.interval = 1;
            hLAxis.minimum = 0;
            lineChart.horizontalAxis = hLAxis;
            break;
        default:
            var hCatAxis:CategoryAxis = new CategoryAxis();
            hCatAxis.title = hAxisFieldsComboBox.selectedItem.label;
            hCatAxis.dataProvider = schemaUtil.aggregateAndSortCasesAC(chartData, vAxisFieldsComboBox.selectedItem.data, [hAxisFieldsComboBox.selectedItem.data]);
            hCatAxis.categoryField = hAxisFieldsComboBox.selectedItem.data;
            lineChart.horizontalAxis = hCatAxis;
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-04
      • 2022-01-26
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 2018-05-15
      相关资源
      最近更新 更多