Esempio n. 1
0
 public void UTGroupWC()
 {
     try
     {
         // && s.GroupId == 566040141
         var speakerLists = speakerServices.Query(s => s.Uid == 1069430666);
         if (speakerLists.Any())
         {
             var builder = string.Join(",", speakerLists.Select(s => s.RawText))
                           .Replace(",", "");
             var seg          = new JiebaSegmenter();
             var freqs        = new Counter <string>(seg.Cut(builder));
             var filterFreqs  = freqs.Count >= 20 ? freqs?.MostCommon(20) : freqs?.MostCommon(freqs.Count - 1);
             var WordCloudGen = new WordCloudSharp.WordCloud(300, 300, true);
             var images       = WordCloudGen
                                .Draw(filterFreqs.Select(s => s.Key).ToList(), filterFreqs.Select(s => s.Value).ToList());
             var imgName = $"{Environment.CurrentDirectory}\\Images\\{Guid.NewGuid()}.png";
             images.Save(imgName, ImageFormat.Png);
             //delete img
             //Task.Delay(10);
             //File.Delete(imgName);
         }
     }
     catch (Exception c)
     {
         Console.WriteLine(c.Message);
     }
 }
Esempio n. 2
0
        public static void WordCloudGenerator()
        {
            var               wordCloud = new WordCloudSharp.WordCloud(800, 500, allowVerical: true, fontname: "YouYuan");
            var               image     = wordCloud.Draw(_topOccurencesWords, _topOccurencesQuantity);
            Encoder           myEncoder = Encoder.Quality;
            EncoderParameters myEncoderParameters;

            myEncoderParameters = new EncoderParameters(1);
            EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 75L);

            myEncoderParameters.Param[0] = myEncoderParameter;
            image.Save(@"C:\Users\rober\RiderProjects\WordCloud\WordCloud\Result-WordCloud.jpg");
        }
Esempio n. 3
0
        public void UTCounterByJieba()
        {
            var s           = "在数学和计算机科学之中,算法(algorithm)为任何良定义的具体计算步骤的一个序列,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。";
            var seg         = new JiebaSegmenter();
            var freqs       = new Counter <string>(seg.Cut(s));
            var wordKeys    = new List <string>();
            var ints        = new List <int>();
            var filterFreqs = freqs.Count >= 20 ? freqs?.MostCommon(20) : freqs?.MostCommon(freqs.Count - 1);

            foreach (var pair in filterFreqs)
            {
                wordKeys.Add(pair.Key);
                ints.Add(pair.Value);
                Console.WriteLine($"{pair.Key}: {pair.Value}");
            }
            var WordCloudGen = new WordCloudSharp.WordCloud(300, 300, true);
            //var images = WordCloudGen.Draw(wordKeys, ints);
            var images = WordCloudGen.Draw(wordKeys, ints);

            //var images = WordCloudGen.Draw(@"C:\Users\v-jinlv\Desktop\background.jpg", wordKeys, ints);
            images.Save($"D:\\{Guid.NewGuid()}.png", ImageFormat.Png);
        }