如何用+符号生成词云
How to Generate Word Cloud with + Symbol
我正在尝试生成一个词云,其中一个词中有一个 +
符号。我知道 +
符号在 RegEx 中有特殊含义,我也知道 WordCloud()
中有一个 regexp
参数。但是,我不确定如何调整它以允许 +
显示在词云输出中?
下面是我当前的代码:
import matplotlib.pyplot as plt
%matplotlib inline
from wordcloud import WordCloud, STOPWORDS
# Define a function to plot word cloud
def plot_cloud(wordcloud):
# Set figure size
plt.figure(figsize=(40, 30))
# Display image
plt.imshow(wordcloud)
# No axis details
plt.axis("off");
file1 = open(r"word_cloud.txt")
text = file1.read()
wordcloud = WordCloud(width = 3000, height = 500, random_state=1,
background_color='white', colormap='viridis',
collocations=False, stopwords = STOPWORDS).generate(text)
plot_cloud(wordcloud)
在此方面如有任何帮助,我们将不胜感激。
编辑
编辑显然我最初的问题不清楚。
Objective:创建包含符号+
.
的词云
在上面的代码中,它正在生成词云,但是带有 +
符号的词没有它,即 C++ 这个词只是作为 C 出现。我创建了一组新的 STOPWORDS
所以这个参数不是问题。我相信它与 WordCloud()
函数的 regexp
参数有关 - 但我不确定,因为我对正则表达式了解不多。
为了进一步详细说明,我在 word_cloud.txt
文件中有以下内容:
VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA
Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel
C++ C++ C++ C++ C++ C++ C++ C++
但这在词云中显示如下:
我 假设 默认情况下 WordCloud
仅使用单词(例如类似于 r'\w'
的正则表达式)。
为了将 +
符号视为单词的一部分,我建议您遵循以下原则:
r'[a-zA-z\+]+'
这个should work.
我正在尝试生成一个词云,其中一个词中有一个 +
符号。我知道 +
符号在 RegEx 中有特殊含义,我也知道 WordCloud()
中有一个 regexp
参数。但是,我不确定如何调整它以允许 +
显示在词云输出中?
下面是我当前的代码:
import matplotlib.pyplot as plt
%matplotlib inline
from wordcloud import WordCloud, STOPWORDS
# Define a function to plot word cloud
def plot_cloud(wordcloud):
# Set figure size
plt.figure(figsize=(40, 30))
# Display image
plt.imshow(wordcloud)
# No axis details
plt.axis("off");
file1 = open(r"word_cloud.txt")
text = file1.read()
wordcloud = WordCloud(width = 3000, height = 500, random_state=1,
background_color='white', colormap='viridis',
collocations=False, stopwords = STOPWORDS).generate(text)
plot_cloud(wordcloud)
在此方面如有任何帮助,我们将不胜感激。
编辑
编辑显然我最初的问题不清楚。
Objective:创建包含符号+
.
在上面的代码中,它正在生成词云,但是带有 +
符号的词没有它,即 C++ 这个词只是作为 C 出现。我创建了一组新的 STOPWORDS
所以这个参数不是问题。我相信它与 WordCloud()
函数的 regexp
参数有关 - 但我不确定,因为我对正则表达式了解不多。
为了进一步详细说明,我在 word_cloud.txt
文件中有以下内容:
VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA VBA
Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel Excel
C++ C++ C++ C++ C++ C++ C++ C++
但这在词云中显示如下:
我 假设 默认情况下 WordCloud
仅使用单词(例如类似于 r'\w'
的正则表达式)。
为了将 +
符号视为单词的一部分,我建议您遵循以下原则:
r'[a-zA-z\+]+'
这个should work.