python_小小白 2022-03-09 03:52 采纳率: 72.7%
浏览 170
已结题

词云出错,都是空格,为啥呢?

img


为啥我的词云制作出来是这个效果?!另外wordcloud制作词云是以空格或者标点符号分割的吧?包括"\n"?

  • 写回答

1条回答 默认 最新

  • 幸运 lucky Python领域优质创作者 2022-03-09 04:06
    关注

    显示中文的问题,要设置一下font_path='simhei.ttf',下面给你一个常用的wordcloud绘制中文词云的模板,从txt里读取,你数据如果在csv那就取那一列统计。

    import jieba
    import collections
    import re
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    
    # 你的txt里的数据
    with open('datas.txt') as f:
        data = f.read()
    
    # 文本预处理  去除一些无用的字符   只提取出中文出来
    new_data = re.findall('[\u4e00-\u9fa5]+', data, re.S)
    new_data = "/".join(new_data)
    
    # 文本分词
    seg_list_exact = jieba.cut(new_data, cut_all=True)
    
    result_list = []
    
    with open('stop_words.txt', encoding='utf-8') as f:
        con = f.readlines()
        stop_words = set()
        for i in con:
            i = i.replace("\n", "")   # 去掉读取每一行数据的\n
            stop_words.add(i)
    
    for word in seg_list_exact:
        # 设置停用词并去除单个词
        if word not in stop_words and len(word) > 1:
            result_list.append(word)
    print(result_list)
    
    # 筛选后统计
    word_counts = collections.Counter(result_list)
    
    # 绘制词云
    my_cloud = WordCloud(
        background_color='white',  # 设置背景颜色  默认是black
        width=800, height=550,
        font_path='simhei.ttf',       # 设置字体  显示中文
        max_font_size=112,        # 设置字体最大值
        min_font_size=12,          # 设置子图最小值
        random_state=80           # 设置随机生成状态,即多少种配色方案
    ).generate_from_frequencies(word_counts)
    
    # 显示生成的词云图片
    plt.imshow(my_cloud, interpolation='bilinear')
    # 显示设置词云图中无坐标轴
    plt.axis('off')
    plt.show()
    

    stopwords.txt数据可以通过链接获取:https://musetransfer.com/s/2ytqsm28p

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    python_小小白 2022-03-09 04:25

    确实如此,我刚才也发现啦,中文分词必须指定font_path

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部