用Python根據新冠肺炎確診數做出心形詞雲


在網上看到一個可以查詢每天實時疫情數據的api接口,包括中及其世界其他地方,突然想起來可以生成一個詞雲,讓大家一目了然看到現在疫情的情況,希望疫情早日結束!

api接口地址:https://api.yimian.xyz/coro

直接上代碼

import pandas as pd
import requests
import json
import wordcloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image


def main():
    # 請求數據
    url = "https://api.yimian.xyz/coro"
    data = requests.get(url).text
    json_data = json.loads(data)
    area_dict = dict()
    for province_name in json_data:
        if "cities" in province_name:
            # 判斷國內
            for cities in province_name["cities"]:
                # print(cities)
                area = cities["cityName"]
                area_conf = int(cities["currentConfirmedCount"])
                area_dict[area] = area_conf
        else:
            # 判斷國外
            area = province_name["provinceName"]
            area_conf = int(province_name["currentConfirmedCount"])
            area_dict[area] = area_conf


    #生成愛心詞雲
    heart_mask = np.array(Image.open("你的圖片地址"))  # 注意點1
    wcloud = wordcloud.WordCloud(scale=32, background_color="white", mask=heart_mask, font_path='你的字體格式地址')  # 注意點2
    wcloud.generate_from_frequencies(frequencies=area_dict)  # 根據數量的大小,越大的字體越大

    plt.figure(dpi=2000)  # 注意點3
    plt.imshow(wcloud, interpolation='bilinear')
    plt.axis('off')
    # plt.show()
    plt.savefig("wuhan3.png")

if __name__ == "__main__":
    main()

 

注意點:

1.設置你想要變成的圖片樣式,圖片最好是白色底

2.scale=32 可以設置字體的清晰程度,越大越清晰,最大可到64;

   font_path='你的字體格式地址'  由於wordcould不支持中文,需要設置中文字體路徑,為ttf格式,再C盤下的font文件夾下;也可以直接將ttf格式文件直接負責出來與py同一文件夾下

3.設置圖片清晰度,根據要求設置即可

  

最終效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM