一、詞雲圖背景圖愛心
愛心是一種非常流行的詞雲圖背景圖片之一,它可以用於許多場合,比如製作情人節的祝福卡片、商品廣告等等。以下是一個使用愛心背景的示例代碼:
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,用於製作詞雲圖。這種在人像上製作詞雲圖的方法,不僅可以製作出非常有趣
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/231966.html