扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
public static void main(String[] args) {
10年积累的网站制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有横县免费网站建设让你可以放心的选择与我们合作。
// 创建一个长度为10的数组
int[] is = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 打印
print(is);
// 设定从命令行读入数据
Scanner scanner = new Scanner(System.in);
// 一直等待输入直到主动中职
while (scanner.hasNext()) {
int input = scanner.nextInt();
is = remove(is, input);
print(is);
}
}
/**
* 从数组中找出这个数并干掉,然后返回新的数组
*
* @param is
* @param input
*/
private static int[] remove(int[] is, int input) {
// 因为返回数组长度未知,所以使用动态数组
ArrayListInteger list = new ArrayListInteger();
for (int index = 0; index is.length; index++) {
if (is[index] != input)
list.add(is[index]);
}
// 复制到并返回
int[] is_return = new int[list.size()];
for (int index = 0; index list.size(); index++) {
is_return[index] = list.get(index).intValue();
}
return is_return;
}
/**
* 为便于调试,打印每次变动后的数组
*
* @param is
*/
private static void print(int[] is) {
System.out.println("print array");
for (int i : is) {
System.out.print(i + " ");
}
System.out.println("\r\nprint array end");
}
0无帮助
期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。
今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如《倔强》,海阔天空是,什么的大家熟悉的。
所要用到的python库有 jieba(一个中文分词库)、wordcould 、matplotlib、PIL、numpy。
首先我们要做的是读取歌词。我将歌词存在了文件目录下励志歌曲文本中。
现在来读取他
12345
#encoding=gbklyric= ''f=open('./励志歌曲歌词.txt','r')for i in f: lyric+=f.read()
加入#encoding=gbk是为了防止后面操作报错SyntaxError: Non-UTF-8 code starting with '\xc0'
然后我们用jieba分词来对歌曲做分词提取出词频高的词
123456
import jieba.analyseresult=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result: keywords[i[0]]=i[1]print(keywords)
得到结果:
然后我们就可以通过wrodcloud等库来生成词云了
首先先自己找一张图片来作为生成词云的形状的图
12345678910111213
from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorimage= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()
保存生成图片
1
wc.to_file('dream.png')
完整代码:
1234567891011121314151617181920212223242526272829
#encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorlyric= ''f=open('./励志歌曲歌词.txt','r')for i in f: lyric+=f.read() result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result: keywords[i[0]]=i[1]print(keywords) image= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()wc.to_file('dream.png')
以上这篇python生成词云的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
云图中的每个字的大小与出现的频率或次数成正比,词云图的统计意义不是特别大,主要是为了美观,用于博客和网站比较常见。
导入数据
library(tm)
library(wordcloud)
Text1-paste(scan("Text1.txt",what=character(0),sep=""),collapse="")
Text2-paste(scan("Text2.txt",what=character(0),sep=""),collapse="")
TEXT-data.frame(c(Text1,Text2),row.names=c("Text1","Text2"))
TEXT_title-data.frame(doc_id=row.names(TEXT),text=TEXT$c.Text1..Text2.
复制
)#这里的doc_id不可替换成别的词
创建数据框格式的文本
#创建数据框格式的文本,第一列是doc_id,第二列是文章内容
TEXT_ds-DataframeSource(TEXT_title)
复制
构建语料库
Corpus-VCorpus(TEXT_ds)
复制
针对语料库文本转换
思路:删除语料库中的标点符号,字母转换为小写,删除数字,删除空白字符,过滤掉停止词库之后转换为纯文本。
Corpus-tm_map(Corpus,removePunctuation)#删除标点符号
Corpus-tm_map(Corpus,tolower)#转换为小写
Corpus-tm_map(Corpus,removeNumbers)#删除数字
Corpus - tm_map(Corpus,stripWhitespace)#删除空白字符
Corpus - tm_map(Corpus,function(x){removeWords(x,stopwords())})
Corpus - tm_map(Corpus,PlainTextDocument)#转换为纯文本
复制
针对语料库断字处理,生成词频权重矩阵
Term_matrix-TermDocumentMatrix(Corpus)
Term_matrix
TermDocumentMatrix (terms: 2462, documents: 2)
Non-/sparse entries: 3215/1709
Sparsity : 35%
Maximal term length: 16
Weighting : term frequency (tf)
复制
查看Term_matrix得知2篇文章共2456个字,稀疏度为35%,最大词长度是16。
#计算频率
Term_matrix-as.matrix(Term_matrix)
复制
#对词频权重矩阵的表头进行命名
colnames(Term_matrix)-c("Text1","Text2")
复制
#把矩阵转为便于后续统计分析的数据框
Data-data.frame(Term_matrix)
复制
#导出两篇文章的频率分析结果,文件名为Term_matrix
write.csv(Data,'Term_matrix.csv')
复制
读取文件
read.csv('Term_matrix.csv',header=TRUE,row.names=1)
复制
#分开绘制两篇文章的词云
wordcloud(row.names(Data),Data$Text1,min.freq=9.5,col=brewer.pal(8,"Dark2"),rot.per=0.3)
复制
wordcloud(row.names(Data),Data$Text2,min.freq=9.5,col=brewer.pal(8,"Dark2"),rot.per=0.2)
复制
#两篇文章对比
comparison.cloud(Data,max.words=250,random.order=FALSE,colors=c("#00B2FF","#084081"))
复制
#通过设置max.word的大小决定显示图中文本的多少。
两篇文章共有词部分
commonality.cloud(Data,max.words=120,random.order=FALSE,colors="#66A61E")
复制
绘制星形图
将Data数据计算频率Freq=n/sum(n),根据频率绘制星形图。
wordcloud2(Data1,size=0.4,shape='star')
复制
本文参与 腾讯云自媒体分享计划,欢迎热爱写作的你一起参与!
本文章分享自微信公众号
菜鸟学数据分析之R语言
作者:刘晓雪
原始发表时间:2020-07-25
如有侵权,请联系 cloudcommunity@tencent点抗 删除。
展开阅读全文
腾讯云图
文章来自专栏
菜鸟学数据分析之R语言
77 篇文章22 人关注
订阅
评论 (0)
写评论
暂无人发表评论
相关文章
Python数据可视化 词云图 绘制词云的方法总结
pyecharts是基于echarts的python库,能够绘制多种交互式图表,和其他可视化库不一样,pyecharts支持链式调用。
(数据科学学习手札71)在Python中制作个性化词云图
词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:
【数据挖掘 | 可视化】 WordCloud 词云(附详细代码案例)
在七夕节中,博主写了一篇为女友收集QQ聊天记录做可视化词云的文章获得广泛好评,一直有小伙伴希望能出一篇教程,今天他来啦! 一文带你速通词云?♂️
R-wordcloud: 词云图
好几位读者来信说,《R语言数据可视化之美》(增强版)的词云图的代码有问题,我今天更新了一轮,这主要原因在R语言及其包的更新,导致源代码有可能运行错误。R语言的优...
WordCloud词云库快速入门(一)
wordcloud是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。
Day10.如何给⽑不易的歌曲做词云展示
我们经常需要对分析的数据提取常⽤词,做词云展示。⽐如⼀些互联⽹公司会抓取⽤户的画像,或者每⽇讨论话题的关键词,形成词云并进⾏展示。
词云绘制,推荐三种 Python包外加一个在线网站!
本篇文章先介绍几种制作词云的 Python 库,分别是 WordCloud、StyleCloud、Pyecharts;再加一个在线词云制作网站;最后通过代码实操...
关于词云可视化笔记一(wordcloud和英文词汇可视化)
一直比较关注数据可视化这块,对于分词和词的可视化却始终不明就里,直到看到词云,当时惊为天人,不过词云的制作还是非常麻烦,直到2017年Python走近我的视野中...
词云图,看过没做过?快来,教你秘籍
今天我们来说一说可视化的问题,如果这个时候我们要对频数进行可视化的话,我们首先想到的应该是一个什么样子的图形呢?很多人可能会说是柱状图。还有一些科研喵们,看过我...
使用pyecharts绘制词云图-淘宝商品评论展示
词云图是一种用来展现高频关键词的可视化表达,通过文字、色彩、图形的搭配,产生有冲击力地视觉效果,而且能够传达有价值的信息。
WordCloud 中英文词云图绘制,看这一篇就够了
摘要: 当我们手中有一篇文档,比如书籍、小说、电影剧本,若想快速了解其主要内容是什么,则可以采用绘制 WordCloud 词云图,显示主要的关键词(高频词)这种...
Python带你看不一样的《青春有你2》小姐姐之评论内容可视化
详细介绍和用法可以去github看:,这里不多做介绍,只介绍本次用到的
NLP快速入门:手把手教你用wordcloud做词云
导读:在上一章节介绍在Python环境下调用HanLP包进行分词的基础上,本文将介绍如何使用wordcloud绘制词云。尽管目前市面上已经有很多成熟的在线交互词...
WordCloud 中英文词云图绘制,看这一篇就够了
摘要: 当我们手中有一篇文档,比如书籍、小说、电影剧本,若想快速了解其主要内容是什么,则可以采用绘制 WordCloud 词云图,显示主要的关键词(高频词)这种...
一起用Python来看看川普今年在推特上都发了些什么
川普作为一个推特狂人,上台以来一共发了一万多条推特,本文爬取了川普在2020年的全部推特内容并将其绘制成了词云图。
词云图wordcloud学习笔记
词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。
excel也那绘制词云图哦!还有很多的可视化图表可挑选!
excel是老牌的数据可视化软件了,很多方面都已经很完美了,很多的图表都可以轻松绘制出来,但如果想要做的好看,就需要一些技巧了。
更多文章
社区活动
腾讯云自媒体分享计划
入驻社区,可分享总价值百万资源包
邀请好友加入自媒体分享计划
邀请好友,同享奖励 30 / 100 / 180 元云服务器代金券
长按识别或截图保存
关注腾讯云开发者
Copyright © 2013-2022
Tencent Cloud. All Rights Reserved.
腾讯云 版权所有
点赞
3
评论
转
stylecloud 是一个 Python 包,它基于流行的 word_cloud 包,并添加了一些有用的功能,从而创建出独特的词云。stylecloud 具备以下特点:
为词云提供(任意大小)的图标形状(通过 Font Awesome 5.11.2 获得);
支持高级调色板(通过 palettable 实现);
为上述调色板提供直接梯度;
支持读取文本文件,或预生成的 CSV 文件(包含单词和数字);
提供命令行接口。
更换中文字体,支持中文词云
stylecloud 包由数据科学家 Max Woolf 创建,是对其 2016 年风格化词云项目的较正式实现。
640.jpeg
stylecloud 项目地址:
安装
你可以通过 pip 安装 stylecloud:
Java
pip3 install stylecloud
使用
你可以通过 Python 脚本使用 stylecloud,也可以直接使用独立的 CLI app。假如你有一份美国宪法的文本文件 constitution.txt(git上有)
使用以下 Python 脚本:
Bash
import stylecloud
stylecloud.gen_stylecloud(file_path='constitution.txt')
得到如下词云:
640-1.jpeg
但你可以做到更多!比如使用 Font Awesome 提供的免费图标更改词云的形状,通过 palettable 更改调色板以自定义风格,更改背景颜色,以及最重要的,添加梯度使颜色按照特定方向流动。
Python
import stylecloud
stylecloud.gen_stylecloud(file_path='constitution.txt',
icon_name='fas fa-dog',
palette='colorbrewer.diverging.Spectral_11',
background_color='black',
gradient='horizontal')
你还可以使用 CLI 执行更快速的 stylecloud 生成!对于上文中的旗形 stylecloud,使用:
Bash
stylecloud --file_path constitution.txt
对于更复杂的犬形 stylecloud,使用:
Bash
stylecloud --file_path constitution.txt --icon_name 'fas fa-dog' --palette colorbrewer.diverging.Spectral_11 --background_color black --gradient horizontal
你可以在 stylecloud-examples repo 中查看 stylecloud 的更多示例,比如如何基于 Twitter 和 Reddit 数据制作 stylecloud。
地址:
有用的参数
以下参数对 stylecloud Python 函数和 CLI 均有效,你可以通过 stylecloud -h 获取这些参数的信息。
text:输入文本。
file_path:输入文本/CSV 的文件路径。
gradient:梯度方向(其默认值是 None,如果它的值不是 None,则 stylecloud 使用了方向性梯度)[default: None]
size:stylecloud 的大小(长度和宽度)[default: 512]
icon_name:stylecloud 形状的图标名称(如 fas fa-grin)[default: fas fa-flag]
palette:调色板(通过 palettable 实现)[default: cartocolors.qualitative.Bold_6]
background_color:背景颜色。[default: white]
max_font_size:stylecloud 中的最大字号。[default: 200]
max_words:stylecloud 可包含的最大单词数。[default: 2000]
stopwords:布尔值,用于筛除常见禁用词。[default: True]
output_name:stylecloud 的输出文本名。[default: stylecloud.png]
font_path:stylecloud 所用字体 .ttf 文件的路径。[default: uses included Staatliches font]
random_state:控制单词和颜色的随机状态。
stylecloud 的主要目标是为文本数据可视化结果提供独特的美感。词云强调统计上可靠的数据可视化,而 stylecloud 更注重「酷」!
stylecloud 包独立于 word_cloud 单独发布,因为它的适用范围和 Python 依赖项均有所增长。
生成优秀 stylecloud 需要的完美字体是:加粗/高字重,以提高可读性;紧凑/低间距,以容纳更多文本。这两个特点就是 stylecloud 使用 Staatliches 作为默认字体的原因(而不是 base word_cloud 使用的 Droid Sans 字体)。
在生成 stylecloud 后,你可能想做一些后处理:例如添加颜色掩码,添加感知偏移,将 stylecloud 输入风格迁移 AI 模型等等。
max_font_size 的默认值 200 与 size 的默认值 512 呈正相关,如要增加 size,你还需要考虑增加 max_font_size 的值。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流