示例#1
0
        /// <summary>
        /// 解析を開始します。
        /// </summary>
        /// <param name="analyzer"></param>
        public FormQ38(MorphologicalAnalyzer analyzer)
        {
            InitializeComponent();
            IDictionary <string, List <Word> > result = analyzer.GetGroupByWord();
            var       resultByGroup = result.GroupBy(pair => pair.Value.Count);
            ChartArea chartArea     = new ChartArea("base")
            {
                AxisX = { Title = "出現頻度" },
                AxisY = { Title = "種類数" }
            };

            Series series = new Series
            {
                ChartType = SeriesChartType.Bar,
                Name      = "単語の頻出回数",
                ChartArea = chartArea.Name
            };

            chart.Series.Clear();
            chart.ChartAreas.Clear();
            chart.ChartAreas.Add(chartArea);
            foreach (var item in resultByGroup)
            {
                series.Points.AddXY(item.Key, item.Count());
            }

            chart.Series.Add(series);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="analyzer"></param>
        public FormQ39(MorphologicalAnalyzer analyzer)
        {
            InitializeComponent();
            IDictionary <string, List <Word> > result = analyzer.GetGroupByWord();

            ChartArea chartArea = new ChartArea("base")
            {
                AxisX = { Title = "単語頻出順位" },
                AxisY = { Title = "頻出回数" }
            };

            chartArea.AxisX.IsLogarithmic = true;
            chartArea.AxisY.IsLogarithmic = true;

            Series series = new Series
            {
                ChartType = SeriesChartType.Line,
                Name      = "単語の頻出回数",
                ChartArea = chartArea.Name
            };

            chart.Series.Clear();
            chart.ChartAreas.Clear();
            chart.ChartAreas.Add(chartArea);
            foreach (var item in result.OrderByDescending(pair => pair.Value.Count)
                     .Select((value, index) => new { value, index }))
            {
                series.Points.AddXY(item.index + 1, item.value.Value.Count);
            }

            chart.Series.Add(series);
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="analyzer"></param>
        public FormQ37(MorphologicalAnalyzer analyzer)
        {
            InitializeComponent();

            IDictionary <string, List <Word> > result = analyzer.GetGroupByWord();

            ChartArea chartArea = new ChartArea("base")
            {
                AxisX = { Title = "単語" },
                AxisY = { Title = "頻出回数" }
            };

            Series series = new Series
            {
                ChartType  = SeriesChartType.Bar,
                Name       = "単語の頻出回数",
                XValueType = ChartValueType.String,
                ChartArea  = chartArea.Name
            };

            chartArea.AxisX.MajorGrid.Interval = 1;
            chartArea.AxisX.LabelStyle         = new LabelStyle
            {
                Interval = 1
            };
            chart.Series.Clear();
            chart.ChartAreas.Clear();
            chart.ChartAreas.Add(chartArea);
            foreach (var item in result.OrderByDescending(pair => pair.Value.Count).Take(10)
                     .Select((value, index) => new { value, index }))
            {
                var first = item.value.Value.FirstOrDefault();
                series.Points.AddXY(first.Base, item.value.Value.Count);
            }

            chart.Series.Add(series);
        }