Python,课上练习,词云库wordcloud的安装与应用。

文章介绍了Python的wordcloud库的安装方法、基本应用,以及如何使用matplotlib进行线形图、直方图、饼图和条形图的绘制,以实例展示如何创建和展示各种图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、词云库wordcloud的安装与应用

1、安装
        pip install wordcloud              #网络安装
        conda update pillow                #更新第三方库
        python -m pip install  本地路径    #本地安装
    2、应用
        生成步骤:
            创建词云对象-->加载词云文本-->输出词云图片(文件)
            (1)默认的矩形词云图片
            (2)提供的图形词云图片

示例1:

#示例1
import wordcloud                   #导入wordcloud库
import matplotlib.pyplot as plt    #导入matplotlib.pyplot库并在代码引用时使用plt代替
from PIL import Image              #导入PIL库中的Image模块


wc = wordcloud.WordCloud()                         #(1)创建词云对象

wc.generate('sahnghai dianzi zhiye jishu xueyuan') #(2)加载词云文本

wc.to_file('../R&Q_pic/test.png')                  #(3)输出词云图片文件将生成的词云图片保存在指定的文件

plt.imshow(wc)                       #在坐标系中显示图像
plt.axis('off')                      #隐藏坐标轴
plt.savefig('../R&Q_pic/test_1.png') #必须要在 plt.show()上面不然保存的图片为空白 
plt.show()                           #直接显示图像

运行结果:

 

 示例2:在编写时需要先使用pip install jieba安装jieba库。

#示例2:原文件为中文

import jieba
import wordcloud
from imageio.v2 import imread    #导入根据数据图片库
import matplotlib.pyplot as plt

with open('../Stu_pack_10/万疆.txt',encoding='utf-8') as file:
    fr = file.read()
fr = jieba.lcut(fr)               #以空格分隔词汇,以列表值存放
fr = ' '.join(fr)                 #用空格连接成一个字符串

mk = imread('../Stu_pack_10/Love_Star.png')
wc = wordcloud.WordCloud(mask = mk,font_path = r'C:/Windows/Fonts/simhei.ttf')
wc.generate(fr)
wc.to_file('../R&Q_pic/Love_star.png')

plt.imshow(wc)
plt.axis('off')
plt.show

运行结果:

二、绘图的类型:
    1、线形图:plot()
    2、直方图:hist()
    3、杂行图:bar()
    4、饼图:pie()
    5、散点图:soatter()
    6、3D图:from mpl_toolkits.mply3d import Axes3D
    7、幼态交互图:pyecharts 

示例一: 线形图

练习1、
#1、线形图:plot()
import matplotlib.pyplot as plt
plt.plot([0,2,4,6,8],[3,1,4,5,2])
plt.ylabel('Grade')
plt.savefig('../R&Q_pic/test0', dpi=600)
plt.show()

运行结果:

练习2、 
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(10)                           #创建一个0-9的整数序列
plt.plot(a,a*1.5,'ro-',label='a')
plt.plot(a,a*2.5,'gx--',label='b')
plt.plot(a,a*3.5,'y*',label='c')
plt.plot(a,a*4.5,'bs-',label='d')
plt.plot(a,a**2,'mH--',label='e')
plt.savefig('../R&Q_pic/test2',dpi=600)
plt.legend()                                #显示比例
plt.show()

运行结果:

 练习3、
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.family'] = 'kaiti'    #设置中文字体
x = np.arange(0,4,0.02)                  #生成X轴序列
y_1 = np.sin(np.pi*x)+2                  #将Y坐标向正风向平移两位
y_2 = np.cos(np.pi*x)
plt.plot(x,y_1,'mx')
plt.plot(x,y_2,'r')
plt.legend(['正弦曲线','余弦曲线'])
plt.title('正余弦曲线图')                #设置图标的标题
plt.show()

 运行结果:

 练习4、

 

import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

a = np.arange(0,5,0.02)

plt.subplot(322)
plt.plot(a,f(a))

plt.subplot(323)
plt.plot(a,np.cos(2*np.pi*a),'-',color='r')

plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'--',color='g')

plt.subplot(325)
plt.plot(a,np.tan(2*np.pi*a),':',color='m')

plt.savefig('../R&Q_pic/test4',dpi=600)

 运行结果:

 示例二、条形图

 

#2、条形图:bar()
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = "STSong"
years = ["2014","2015","2016","2017","2018","2019"]
baokao_nums = [172, 164.9, 177, 201, 238, 290]
luqu_nums = [54.87, 57.06, 58.98, 72.22, 76.25, 79.3]
x = range(len(years))
plt.bar(x, height=baokao_nums, width=0.4)
plt.bar([i + 0.4 for i in x], luqu_nums, width=0.4)
plt.xticks([i + 0.2 for i in x],years)
plt.legend(["研究生报考人数","研究生录取人数"])
plt.ylabel("人数/万人")
plt.xlabel("年份")
plt.title("研究生历年报考和录取情况")
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.show()

 运行结果:

示例三、饼图

#3、饼图:pie()
#案列:已知一个学生一天的活动时间分配为:学习8小时 、睡觉7小时、吃饭3小时,玩乐6小时、绘制该学生一天时间分配饼状图
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = "FangSong"   #设置字体
plt.rcParams['font.size'] = "18"           #设置字体大小
labels = ['学习','睡觉 ','吃饭','玩乐']    #活动标签
hours = [8,7,3,6]                          #时间分配
colors = ['c','m','r','y']                 #各部分颜色
plt.pie(hours, labels=labels, colors=colors, shadow=True,explode=(0,0.1,0,0), \
        autopct='%0.1f%%', labeldistance= 1.2)  #请分别测试说明各参数的含义
plt.title("一天时间分配饼状图")
plt.savefig('../R&Q_pic/test6',dpi=600)
plt.show()

 运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值