美文网首页Python学习资料整理
Python学习记录(一)制作词云

Python学习记录(一)制作词云

作者: 徐曼曼_b287 | 来源:发表于2020-02-03 11:16 被阅读0次

    先参考下面教程,从安装anaconda开始
    如何用Python做词云?
    安装好之后点这个运行命令行


    跟着教程里提供的视频,把项目新建到桌面某个文件夹中

    因为要制作词云,需要事先安装词云包,输入命令:

    pip install wordcloud
    

    直接装不是很好装,大概是网络问题,重新尝试了好多次,才安装成功,也可以先下载下来再安装

    然后,输入命令启动Jupyter页面

    jupyter notebook
    

    刚启动时,里面啥也没有(我这里面都是后来添加的~)

    接下来就是新建项目写代码了:

    # 读取文件,文件路径为“yes-minister.txt”
    filename="yes-minister.txt"
    mytext=open(filename).read()
    
    # 导入词云包
    from wordcloud import WordCloud
    wordcloud=WordCloud().generate(mytext)
    
    # 显示图片
    %matplotlib inline
    import matplotlib.pyplot as plt
    plt.imshow(wordcloud,interpolation='bilinear')
    
    # 不显示标尺
    plt.axis("off")
    

    一步一步作出我的第一张词云,长这样:


    第一张图云

    诶?说好的炫酷效果呢?


    于是接着查,发现原来WordCloud()函数里面可以传许多参数,我可以给加个背景图
    那么什么样的背景图符合标准呢?经过多次尝试发现只要背景色和前景色对比度足够大就行了
    比如,这样:

    皮卡丘

    于是调整代码:

    from wordcloud import WordCloud
    # 用于加载图片
    import PIL.Image as image
    import numpy as np
    
    # 读取文件,文件路径为“皮卡丘.txt”
    filename="皮卡丘.txt"
    mytext=open(filename).read()
    # 打开图片
    mask=np.array(image.open("皮卡丘_meitu_2.jpg"))
    # 设置背景图片、颜色、字体
    wordcloud=WordCloud(background_color='white',font_path=r'wqy-microhei.ttc',mask=mask).generate(mytext)
    
    # 显示图片1
    %matplotlib inline
    import matplotlib.pyplot as plt
    plt.imshow(wordcloud,interpolation='bilinear')
    plt.axis("off")
    
    # 显示图片2
    imge=wordcloud.to_image().show()
    
    # 保存图片
    wordcloud.to_file("pikaqiu1.png")
    

    效果:


    这里我显示的是中文,先在网上下载了一个字体:wqy-microhei.ttc

    # 设置字体
    font_path=r'wqy-microhei.ttc'
    

    后来我就想做一个关于疫情的词云,百度文档找了一个docx文件下载,加载文件名改一改,发现不行~
    只能接着百度,如何加载docx文件 ,发现仍需要装另一个包:pip install python-docx
    同样,请在网络环境好的地方安装

    from wordcloud import WordCloud
    import PIL.Image as image
    import numpy as np
    
    # 读取doc文档
    import docx
    from docx import Document
    # 便利赋值
    doc=Document("新型冠状病毒肺炎科普.docx")
    mytext= ""
    for paragraph in doc.paragraphs:
        mytext=mytext+paragraph.text
    
    mask=np.array(image.open("口罩2.jpg"))
    wc=WordCloud(background_color='white',font_path=r'wqy-microhei.ttc',mask=mask).generate(mytext)
    
    %matplotlib inline
    import matplotlib.pyplot as plt
    
    # 显示图片1
    plt.imshow(wc,interpolation='bilinear')
    plt.axis("off")
    
    # 显示图片2
    img=wc.to_image().show()
    
    # 保存图片
    wc.to_file("virus1.png")
    
    原图 效果图

    结束~

    相关文章

      网友评论

        本文标题:Python学习记录(一)制作词云

        本文链接:https://www.haomeiwen.com/subject/ivgqxhtx.html