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

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

img


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

  • 写回答

1条回答 默认 最新

  • 叶庭云 Python领域优质创作者 2022-03-09 12: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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100