1.了解数据可视化的形式,能选用合适的工具进行数据可视化表达与呈现。
2.通过项目研究,感受数据可视化表达对日常生活的影响。
(1)如何选择合适的可视化方法分析和呈现数据;
(2)利用Python语言实现词云的制作。
可上网的电脑,Python语言环境,标签云(词云)制作软件。
项目实践体验——中文分词与标签云(词云)制作。
查看“大棚蔬菜建设与种植管理的有效策略分析”文字资料,说说文中出现频率最高的词有哪些,你是如何找出这些高频词的?
微课1:使用标签云软件制作词云
使用“标签云软件”,为文字资料制作标签云(词云)。
(1)实践步骤:
①启动软件,选择下方的“”打开“大棚蔬菜建设与种植管理的有效策略分析.txt”文件。
②单击“分词”按钮,对文字内容进行分词。
③单击“词频统计”按钮,统计分词后每个词语的出现次数。
④单击“选择模板”按钮,选择创建标签云(词云)的模板图片。
⑤单击“标签云”按钮,创建标签云(词云)。
(2)在实践操作的过程中请思考以下问题:
①文本数据处理的一般过程主要包括哪些?
②标签云(词云)是适合对哪种类型的文件进行可视化表达?
③观察生成的标签云(词云),哪些关键词使用频率较高。词云通常是如何来体现关键词的重要程度或出现频次的?
结合书本P121 3.3.2数据可视化中关于“词云”的介绍及微课的学习探讨上面3个思考题。
微课2:思考题及评价
评价
学生 | 实践活动(A、B、C) 注:A=非常符合,B=符合,C=不符合 | |
自评 | 教师评 | |
理解词云 | ||
掌握用软件制作词云 | ||
学习认真,积极主动探索 |
项目任务——如何制作词云,实现数据可视化。
(1)编写程序为《大棚蔬菜建设与种植管理的有效策略分析》制作词云。
①分析问题。
已知条件:已有大棚蔬菜种植相关文本文件,制作词云需要用到第三方扩展库;
求解目标:为“大棚蔬菜建设与种植管理的有效策略分析.txt”文件制作词云。
②规划问题求解流程。
首先导入用于制作词云的第三方扩展库,再读入报告的文本文件,然后进行分词,随后配置制作词云的各项参数,最后生成词云图片。
微课3-1:python库安装命令
微课3-2:安装imageio
微课3-3:安装jieba
微课3-4:安装matplotlib
微课3-5:安装wordcloud库
制作词云用到Python扩展库:
imageio:MAIO是一个Python库,它提供了一个简单的接口来读取和写入大量的图像数据,函数imread()读入用于生成词云的图像文件。
jieba:中文分词工具,使用cut方法进行分词。
wordcloud:词云生成工具,使用generate方法读取文本生成词云。
from imageio import imread
from wordcloud import WordCloud
import jieba
③编程实现与调试。
微课4:制作词云
from imageio import imread
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
text=open("大棚蔬菜建设与种植管理的有效策略分析.txt","rb").read() #读入txt文件
text_jieba="".join(jieba.cut(text)) #使用jieba分词
bg_pic=imread("大棚蔬菜.png") #读入图片
wc=WordCloud(
font_path="msyhbd.ttf", #设置字体
background_color="white", #设置背景色
max_words=200, #允许最大词汇
mask=bg_pic, #词云形状
max_font_size=100 #最大号字体
)
wc.generate(text_jieba) #生成词云
plt.figure()
plt.imshow(wc)
plt.axis("off")
plt.show() #保存图片
wc.to_file("大棚蔬菜.jpg")
应用提升——完成项目数据的可视化。
(1)任务一:请编写程序为“大棚蔬菜建设与种植管理的有效策略分析.txt”文件制作词云,对词云的形状和颜色进行创意设计。
答案:
a.对词云的形状进行设计:
微课5:词云形状修改
参考代码:
bg_pic=imread("大棚蔬菜.png") #读入图片
mask=bg_pic, #词云形状
b.对词云的颜色进行设计:使用随机数来随机生成颜色
微课6:词云的颜色修改
参考代码:
import random
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
h = 0
s = int(100.0 * 255.0 / 255.0)
l = int(100.0 * float(random.randint(60, 120)) / 255.0)
return "hsl({}, {}%, {}%)".format(h, s, l)
……
wc=WordCloud(
font_path='msyhbd.ttf',
background_color='white',
max_words=200,
mask=bg_pic,
max_font_size=100,
color_func = random_color_func#使用函数修改文字颜色
)
微课7:小结
(2)项目任务:完成本小组项目数据的可视化。
任务二:根据本小组的任务主题,确定数据可视化的形式及工具;
要分析的问题 | 采用的可视化形式 | 采用的可视化工具 |
如:大棚蔬菜建设与种植管理的有效策略分析 | 词云 | Python编程 |
任务三:对收集到的数据进行可视化处理,为制作数据分析报告做好准备。
评价
学生 | 实践活动(A、B、C) 注:A=非常符合,B=符合,C=不符合 | |
自评 | 教师评 | |
掌握用Python编程制作词云 | ||
完成任务二 | ||
完成任务三 | ||
学习认真,积极参与小组合作 |