一、词云图背景图爱心
爱心是一种非常流行的词云图背景图片之一,它可以用于许多场合,比如制作情人节的祝福卡片、商品广告等等。以下是一个使用爱心背景的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import Image text = "爱情 富贵 幸福 快乐 吉祥 如意" stopwords = set(STOPWORDS) background_image = np.array(Image.open("heart.jpg")) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("heart_wordcloud.png")
在上述代码中,我们使用了词云图库wordcloud中的WordCloud类来制作词云图,设置了一些参数,包括背景色、背景图片、停用词集合和字体路径等等。通过上述代码,我们可以在命令行或者jupyter等环境下生成一张名为heart_wordcloud.png的词云图,图中的词汇包括"爱情"、"富贵"、"幸福"、"快乐"和"吉祥"等,以爱心为背景,非常适合用在表达爱意的场合中。
二、词云图专用背景图
在实际制作词云图时,有些背景图片适合用于制作词云图,而有些则不是。为了让词云图效果更佳,我们可以自行采集或者使用一些专用的词云图背景图片。以下是一个使用专用背景图片的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import Image text = "python deep learning machine learning big data" stopwords = set(STOPWORDS) background_image = np.array(Image.open("wordcloud_bg.jpg")) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("wordcloud.png")
上述代码中,我们采用的是一张专门为制作词云图而设计的背景图片,它使用了多种不同的字体和字号,并且字的排列方式也非常符合词云图的美学要求。在使用时,我们只需要将其导入WordCloud类即可。
三、词云图背景图片的读取问题
词云图的背景图片可以是任何一张图片,但是在读取时却需要注意一些问题。以下是一个解决读取问题的示例代码:
import requests from io import BytesIO from PIL import Image from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator text = "python deep learning machine learning big data" stopwords = set(STOPWORDS) response = requests.get("https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wrestling_diatrama.jpg/800px-Wrestling_diatrama.jpg") img = Image.open(BytesIO(response.content)) wordcloud = WordCloud( background_color='white', mask=np.array(img), stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(np.array(img)) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("wordcloud.png")
上述代码我们使用了requests来获取一张网络上的图片,然后通过BytesIO将其转换为PIL库中的Image对象,最后通过np.array将其转换为可用的图片对象。这样,在使用Mask时就可以直接使用该对象。如果直接使用网络上的图片链接,在使用Mask时会直接报错。
四、词云图的背景图片要求
词云图背景图片可以有很多不同的要求,以下列举一些常见的要求:
1、色彩鲜明:词云图上的字体色彩是由背景色透过字体形成的,因此色彩鲜明的背景图片可以让词云图效果更佳。
2、对比明显:具有鲜明对比的图片可以使得词云图上的字体更加醒目,效果更佳。
3、对称美观:一个对称美观的背景图片可以使词云图具有一种非常美妙的对称感,让图像更加美观。
4、高清晰度:高清晰度的背景图片可以保证词云图显示出更加清晰的效果,在制作时应注意选择高清晰度图片。
五、词云图背景图中国地图
在实际制作中,我们还可以使用一些特定地理区域的背景图片来制作词云图,比如中国地图。以下是一个使用中国地图背景图片的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import Image text = "北京 上海 广州 深圳" stopwords = set(STOPWORDS) background_image = np.array(Image.open("china_map.jpg")) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("china_wordcloud.png")
在上述代码中,我们使用了一个中国地图的背景图片,然后将其作为词云图的Mask,制作了一张词云图,上面包含了"北京"、"上海"、"广州"和"深圳"等城市名称,非常适合用于分析中国地区文本信息。
六、词云图背景图片读取不出来
在使用时,我们有时会遇到无法读取背景图片的问题,这时我们可以通过修改图片格式、调整图片大小等方式进行解决。以下是一个修改图片格式和大小的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import Image text = "python deep learning machine learning big data" stopwords = set(STOPWORDS) img = Image.open("wordcloud_bg.png") img = img.convert('RGBA') r, g, b, a = img.split() img = Image.merge('RGB', (r, g, b)) img = img.resize((800, 600), Image.ANTIALIAS) background_image = np.array(img) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("wordcloud.png")
在上述代码中,我们首先将BGRA图片转换为RGBA图片,并将其调整为800*600的大小。然后,我们将其转换为RGB格式,作为Mask,用于制作词云图。
七、词云图背景图黑白
在词云图制作中,我们有时也会需要一些黑白的背景图片,以下是一个使用黑白背景图片制作词云图的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import ImageOps from PIL import Image text = "python deep learning machine learning big data" stopwords = set(STOPWORDS) img = Image.open("wordcloud_bg.jpg") img = ImageOps.grayscale(img) background_image = np.array(img) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("wordcloud.png")
在上述代码中,我们使用了ImageOps库的grayscale()函数来将图片转换为黑白格式,然后将其作为Mask,用于制作词云图。这种黑白背景图片能够给词云图制作带来非常不同的感觉。
八、词云图背景图评论
在实际制作中,我们可以使用一些评论、留言等文本信息,制作出与内容相关的词云图,以下是一个使用评论来制作词云图的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np import jieba with open('comments.txt', 'r', encoding='utf-8') as f: comments = f.read().split("\n") text = " ".join(jieba.cut(" ".join(comments))) stopwords = set(STOPWORDS) background_image = np.array(Image.open("wordcloud_bg.jpg")) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("comment_wordcloud.png")
在上述代码中,我们使用jieba库对评论进行分词,然后将分词结果作为制作词云图的文本。同时,我们使用了一个背景图片,并将其作为Mask。最后,我们还将词云图进行了重新上色,让图像更加美丽。
九、词云图背景图片设置
在实际制作中,我们还可以通过一些设置,来达到更好的效果,以下是一些常用的设置:
1、改变字体大小:我们可以通过修改WordCloud类的max_font_size参数,来改变词云图上字体的最大大小。
2、调整Mask位置:我们可以使用matplotlib的plt.imshow()函数来调整Mask在图像中的位置,使其达到更好的效果。
3、设置背景色透明:如果在制作词云图时,我们想将背景色设置为透明的话,只需要将WordCloud类的background_color参数设置为None即可。
十、词云图背景图人像选取
制作词云图时,我们还可以使用一些人像,来作为词云图的背景图片,以下是一个使用人像作为背景的示例代码:
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import numpy as np from PIL import Image text = "python deep learning machine learning big data" stopwords = set(STOPWORDS) background_image = np.array(Image.open("person.jpg")) wordcloud = WordCloud( background_color='white', mask=background_image, stopwords=stopwords, font_path='msyh.ttc' ) wordcloud.generate(text) image_colors = ImageColorGenerator(background_image) wordcloud.recolor(color_func=image_colors) wordcloud.to_file("person_wordcloud.png")
在上述代码中,我们使用了人像作为背景图片,然后将其作为Mask,用于制作词云图。这种在人像上制作词云图的方法,不仅可以制作出非常有趣