python画笔和词云分析



python画笔

使用前需要导入 turtle 包—import turtle

函数描述
Pen()turtle.Pen()创建一个窗口(拿起一个笔)
up()turtle.up()拿起画笔
down()turtle.down()放下画笔
forward()turtle.forward(self)向前移动 self 个像素
right()turtle.right(angle)向右旋转 angle 度
left()turtle.left(angle)向左旋转 angle 度
circle(i,t,steps = “k”)画一个半径为 i,旋转角度为 t 度的圆,若设定 steps 值则画出半径为 i 的圆的内切 k 边形,此函数不能直接使用数组,必须一个一个数的代入,例如 turtle.circle(b[j][0],b[j][1])
goto(x,y)turtle.goto(x,y)将画笔移动到(x,y)
color(a,b)turtle.color(a,b)a 为画笔颜色,b 为填充颜色,用到填充时需要用的以下两个函数
begin_fill()turtle.begin_fill()#开始填充
end_fill()turtle.end_fill()#结束填充
done()turtle.done()让画板停在最后一步
hideturtle()turtle.hideturtle()隐藏画笔


Python词云分析


导入 wordcloud 包


第三方包,若没有,需要在控制台输入 pip install wordcloud 进行下载

创建 WordCloud 对象

w = wordcloud.WordCloud(‘ 设置内容 ’)

创建对象时可以设置词云图的长宽、背景颜色、字体路径等等。

常用参数描述
widthwidth 词云图片宽度,默认 400 像素
heightheight 词云图片高度 默认 200 像素
background_colorbackground_color 词云图片的背景颜色,默认为黑色。 background_color='white’将背景颜色调为白色
font_stepfont_step 字号增大的步进间隔 默认 1 号
font_pathfont_path 指定字体路径 默认 None,对于中文可用 font_path=‘msyh.ttc’
mini_font_sizemini_font_size 最小字号 默认 4 号
max_font_sizemax_font_size 最大字号 根据高度自动调节
max_wordsmax_words 最大词数 默认 200
stop_wordsstop_words 不显示的单词 stop_words={“python”,“java”}
ScaleScale 默认值 1。值越大,图像密度越大越清晰

调用词云对象的 generate 方法,将文本传入。

w.generate(txt)

将生成的词云保存为 output.png 图片文件,保存到当前文件夹中。

w.to_file('output.png')



中文词解

对于中文文档我们可以将其进行拆解

需要用到 jieba 包(也是第三方包,若没有需要在控制台输入 pip install jieba进行下载)

txtlist = jieba.lcut(txt)

中文拆解的精确模式(常用)

每个词只用一次(补充)。拆解之后是

['动力学', '和', '电磁学']

而对于词云的 generate 方法需要

'动力学 和 电磁学',这种格式,所以用以下函数进行转化:

string = " ".join(txtlist)


绘制特定形状的词云

程序自带的 matplotlib.pyplot 里也有 imread 函数

需要导入第三方包 imageio(在控制台输入 pip install imageio 进行下载)

mk = imageio.imread("wu.png") #读取图片

创建词云对象 WordCloud ,将 mask 设置为 mk,就可以使用了。

w = wordcloud.WordCloud(mask=mk)

一般需要把 scale(=15)设置为更高一点,输出的图片会更清晰。

注意:导入的图片格式和输出的图片格式要一样

import matplotlib.pyplot as plt #导入 matplotlib.pyplot 并命名为 plt

matplotlib.pyplot 也有 imread()读取函数

plt.imshow(t)将词云图通过 plt 展示出来
plt.axis(‘off’)关掉坐标轴
plt.show()将词云图展示出来

代码

import wordcloud#生成词云
import jieba#中文词拆解
import matplotlib.pyplot as plt#导入 matplotlib.pyplot 并命名为 plt
mk = plt.imread("tu.jpg")

#打开文件,读取文件,关闭文件
f = open('You are Absolutely Unique.txt',encoding='utf-8')
txt = f.read()
f.close()

txtlist = jieba.lcut(txt) #将中文文本进行词解

string = " ".join(txtlist) #将词解结果进行组合

#创建词云对象 w,设置长 1000 像素,宽 700,背景颜色白色,font_path 指定字体路径 默认 None,对于中文可用 font_path='msyh.ttc'
w = wordcloud.WordCloud(background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15,
                        stopwords={'什么','东西'}
                        )
                       
#调用词云对象的 generate 方法,将文本传入
t = w.generate(string)
#将词云图通过 plt 展示出来
plt.imshow(t)
#关掉坐标轴
plt.axis('off')
plt.show()
# 将生成的词云保存为 output2-poem.png 图片文件,保存到当前文件夹中
w.to_file('output1.jpg')

结果如下:
输出结果

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力生活的黄先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值