Calculates top-N-by metrics for the graph.
This calculator will find, for example, the top 10 vertex names ranked by betweenness centrality, and the top 20 vertex names ranked by PageRank. Its IGraphMetricCalculator2.TryCalculateGraphMetrics implementation returns multiple column pairs, one pair for each top-N-by table that needs to be written to the top-N-by worksheet.

This graph metric calculator differs from most other calculators in that it reads arbitrary columns in the Excel workbook. The other calculators look only at how the graph's vertices are connected to each other. Therefore, there is no corresponding lower-level TopNByMetricCalculator class in the Smrf.NodeXL.Algorithms namespace, and the top-N-by metrics cannot be calculated outside of this ExcelTemplate project.

Inheritance: TopItemsCalculatorBase2
コード例 #1
0
        CalculateTopNByMetrics()
        {
            AssertValid();

            TopNByMetricCalculator2 oTopNByMetricCalculator2 =
                new TopNByMetricCalculator2();

            CalculateGraphMetricsDialog oCalculateGraphMetricsDialog =
                new CalculateGraphMetricsDialog(null, m_oWorkbook,
                                                new IGraphMetricCalculator2 [] { oTopNByMetricCalculator2 },
                                                null, true);

            return(oCalculateGraphMetricsDialog.ShowDialog() == DialogResult.OK);
        }
コード例 #2
0
        TryCalculateGraphMetrics
        (
            Microsoft.Office.Interop.Excel.Workbook oWorkbook
        )
        {
            Debug.Assert(oWorkbook != null);

            CalculateGraphMetricsDialog oCalculateGraphMetricsDialog =
                new CalculateGraphMetricsDialog(null, oWorkbook);

            if (oCalculateGraphMetricsDialog.ShowDialog() != DialogResult.OK)
            {
                return(false);
            }

            if ((new GraphMetricUserSettings()).ShouldCalculateGraphMetrics(
                    GraphMetrics.TopNBy))
            {
                // See the comments in GraphMetricsDialog for details on how
                // top-N-by metrics must be calculated after the other metrics
                // are calculated.

                TopNByMetricCalculator2 oTopNByMetricCalculator2 =
                    new TopNByMetricCalculator2();

                oCalculateGraphMetricsDialog = new CalculateGraphMetricsDialog(
                    null, oWorkbook,
                    new IGraphMetricCalculator2 [] { oTopNByMetricCalculator2 },
                    null, true);

                if (oCalculateGraphMetricsDialog.ShowDialog() != DialogResult.OK)
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #3
0
    CalculateTopNByMetrics()
    {
        AssertValid();

        TopNByMetricCalculator2 oTopNByMetricCalculator2 =
            new TopNByMetricCalculator2();

        CalculateGraphMetricsDialog oCalculateGraphMetricsDialog =
            new CalculateGraphMetricsDialog(null, m_oWorkbook,
                new IGraphMetricCalculator2 [] {oTopNByMetricCalculator2},
                null, true);
                
        return (oCalculateGraphMetricsDialog.ShowDialog() == DialogResult.OK);
    }
コード例 #4
0
    TryCalculateGraphMetrics
    (
        Microsoft.Office.Interop.Excel.Workbook oWorkbook
    )
    {
        Debug.Assert(oWorkbook != null);

        CalculateGraphMetricsDialog oCalculateGraphMetricsDialog =
            new CalculateGraphMetricsDialog(null, oWorkbook);

        if (oCalculateGraphMetricsDialog.ShowDialog() != DialogResult.OK)
        {
            return (false);
        }

        if ( ( new GraphMetricUserSettings() ).ShouldCalculateGraphMetrics(
            GraphMetrics.TopNBy) )
        {
            // See the comments in GraphMetricsDialog for details on how
            // top-N-by metrics must be calculated after the other metrics
            // are calculated.

            TopNByMetricCalculator2 oTopNByMetricCalculator2 =
                new TopNByMetricCalculator2();

            oCalculateGraphMetricsDialog = new CalculateGraphMetricsDialog(
                null, oWorkbook,
                new IGraphMetricCalculator2 [] {oTopNByMetricCalculator2},
                null, true);

            if (oCalculateGraphMetricsDialog.ShowDialog() != DialogResult.OK)
            {
                return (false);
            }
        }

        return (true);
    }