بعد از انتشار این پست به پیشنهاد دوست عزیزم جناب مینیمال تلاش کردم تا کمی تنوع به تصاویر بدهم. حاصل این تنوع اضافه کردن فونت و استفاده از ماسک بود. همین جا این رو هم اضافه کنم که آقای محمدرضا علی حسینی یک پکیج روی ماژول wordcloud به نام wordcloud-fa ساخته است که کارهای ایشان خیلی به من در نوشتن این پست کمک کرد.
این مطالب رو دقیقا از این پست آقای حسینی نقل می کنم:
استفاده از ماسک
«حالا چه میشود اگر ما نخواهیم از فرمت مستطیلی پیشفرض استفاده کنیم؟ مثلاً تصور اوّل همین نوشته را ببینید. کلمات درون نقشهی ایران قرار گرفته اند.
برای اینکه ابر کلمههایی مثل این بسازیم، به استفاده از یک تصویر ماسک نیاز داریم. تصویر شما باید یک تصویر سیاه و سفید باشد. بخشهای سیاه همان بخشهایی هستند که کلمات درونشان قرار میگیرند».
توی این قسمت از این ماسک استفاده کردم:
حالا باید آدرس ماسک رو توی برنامه تعریف کنیم:
mask_array = np.array(Image.open("C:\\Users\\.....\\star.jpg"))
کمی تغییر در PersianWordCloud نیازه:
wordcloud = PersianWordCloud(
only_persian=True,
max_words=100,
stopwords=stopwords,
margin=0,
width=800,
height=800,
min_font_size=1,
max_font_size=500,
background_color="white",
font_path="C:\\Windows\\Fonts\\B Mitra.ttf",
mask=mask_array
).generate(text)
فونت B Mitra.ttf رو برای نمایش انتخاب کردم.
خروجی برنامه به صورت زیر است: