Cet article vous présente principalement des informations pertinentes sur la façon d'utiliser Python pour créer votre propre logo personnalisé en dix minutes. Il utilise principalement un nuage de mots pour obtenir cet effet. L'article le présente de manière très détaillée à travers un exemple de code, ce qui est très. utile pour tout le monde. Étudier ou travailler a une certaine valeur d'apprentissage de référence. Les amis qui en ont besoin peuvent jeter un œil ci-dessous
Avant-propos
Je crois que tout le monde. peut utiliser le nuage de mots. Ce n'est plus inconnu. Il est très simple à utiliser. Il suffit d'appeler directement le package wordcloud. Sa fonction principale est de générer des images basées sur les mots du texte et la fréquence des mots, à partir desquelles vous pouvez voir intuitivement la proportion de chaque mot.
Récemment, je voulais juste créer un logo personnel, j'ai donc décidé d'utiliser un nuage de mots pour le créer.
installation de wordcloud
pip install wordcloud
En utilisant pip pour installer, vous rencontrerez certainement un trou et une erreur peut être signalée pendant le processus d'installation , vous invitant à installer Microsoft Visual C++ 14.0, mais ce processus d'installation prend du temps.
Il existe une autre façon de le résoudre, qui consiste à télécharger le fichier whl correspondant et à l'installer.
Une fois le fichier téléchargé, cmd dans le dossier où se trouve le fichier whl, puis entrez la commande suivante :
pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl
utilisation du code wordcloud
Une fois l'installation réussie, nous commencerons immédiatement à créer nos images.
from os import path from PIL import Image import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator d = path.dirname(__file__) # 读文本文件 text = open(path.join(d, 'data.txt')).read() # 读取自定义图片 alice_coloring = np.array(Image.open(path.join(d, "pic.jpg"))) # 你可以通过 mask 参数 来设置词云形状 wc = WordCloud(background_color="white",max_words=2000, mask=alice_coloring, max_font_size=60,random_state=102,scale=8, font_path="C:\Windows\Fonts\msyhbd.ttf").generate(text) wc.generate_from_text(text) print('开始加载文本') # 改变字体颜色 img_colors = ImageColorGenerator(alice_coloring) # 字体颜色为背景图片的颜色 wc.recolor(color_func=img_colors) # 显示词云图 plt.imshow(wc, interpolation="bilinear") # 是否显示x轴、y轴下标 plt.axis('off') plt.show() # 获得模块所在的路径的 d = path.dirname(__file__) # 将多个路径组合后返回 wc.to_file(path.join(d, "h16.jpg")) print('生成词云成功!')
Le contenu du texte ci-dessus a été collecté via un robot d'exploration. Il a exploré un article sur la science des données. Une fois que vous avez la source du texte, préparez simplement l'image que vous souhaitez générer un nuage de mots.
La configuration des paramètres de wordcloud est particulièrement importante pour les effets d'image. Ci-dessous, nous nous concentrons sur la signification des paramètres de wordcloud :
font_path : chemin de la police de chaîne, quelle que soit la police. doit être affiché. Écrivez le chemin de la police + le nom du suffixe, tel que : font_path = 'Heibody.ttf'
width: int (default=400) La largeur du canevas de sortie, la valeur par défaut. est de 400 pixels
hauteur : int (par défaut = 200) Hauteur du canevas de sortie, la valeur par défaut est de 200 pixels
prefer_horizontal : float (par défaut = 0,90 ) Composition horizontale des mots Fréquence d'occurrence, par défaut 0,9
masque : nd-array ou Aucun (par défaut=Aucun) Si le paramètre est vide, le nuage de mots sera dessiné normalement. Si le masque n'est pas vide, les valeurs définies de largeur et de hauteur seront ignorées et la forme sera remplacée par un masque. Les parties sauf le blanc ne seront pas dessinées et le reste servira à dessiner le nuage de mots.
scale : float (default=1) Agrandit la toile selon la proportion Si elle est définie sur 2, la longueur et la largeur seront le double de la toile d'origine.
min_font_size : int (default=4) La taille minimale de la police affichée
font_step : int (default=1) taille de l'étape de police, Si la taille du pas est supérieure à 1, cela accélérera l'opération mais peut conduire à des erreurs plus importantes dans les résultats.
max_words : nombre (par défaut=200) Le nombre maximum de mots à afficher
stopwords : ensemble de chaînes ou Aucun Le réglage nécessaire à bloquer S'il est vide, le STOPWORDS
background_color : valeur de couleur (default="black") couleur d'arrière-plan, tel que background_color='white', la couleur d'arrière-plan est blanc.
max_font_size : int ou None (default=None) La taille de police maximale affichée
mode : string (default=”RGB”) Lorsque le paramètre est "RGBA" et background_color n'est pas vide, le fond est transparent.
relative_scaling : float (default=.5) Corrélation entre la fréquence des mots et la taille de la police
color_func : callable, default=None Générer une nouvelle couleur function, si vide, self.color_func
regexp : string ou None (facultatif) Utilisez une expression régulière pour séparer le texte saisi
collocations : bool, default=True S'il faut inclure la collocation de deux mots
colormap: string ou matplotlib colormap, default="viridis" Attribuez aléatoirement une couleur à chaque mot, si spécifié color_func, ceci la méthode est ignorée.
Affichage des effets
Les photos utilisées sont les propres photos du blogueur.
——————fin——————
Recommandations associées :
Utilisez le socket Python pour envoyer la méthode de requête http(s)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!