কম্পিউটার টিউটোরিয়াল

পাইথনে API রেজাল্ট ভিজ্যুয়ালাইজ করার টিউটোরিয়াল

ভূমিকা

API লিখার সবচেয়ে বড় সুবিধা হলো লাইভ/কারেন্ট ডেটা এক্সট্র্যাক্ট করা, এমনকি ডেটা দ্রুত পরিবর্তন হলেও। API প্রোগ্রাম খুব স্পেসিফিক URL দিয়ে তথ্য রিকোয়েস্ট করে (যেমন: Spotify-তে ২০২০ সালের টপ ১০০ গান)। রিকোয়েস্ট করা ডেটা JSON বা CSV ফরম্যাটে ফেরত আসে যা প্রসেস করা সহজ।

পাইথনে প্রায় যেকোনো URL-এ API কল লেখা যায়। এই উদাহরণে GitHub API থেকে ডেটা নেয়া এবং ভিজ্যুয়ালাইজ করা দেখানো হয়েছে। (Spotify API-এর জন্য আলাদা প্রি-রেকোয়ারিজ রয়েছে, তাই GitHub ব্যবহার করা হয়েছে।)

GitHub (ডেভেলপারদের ফেসবুক) ওয়াইড ভেরাইটি ডেটা এক্সট্র্যাক্ট করার API দেয়। উদাহরণস্বরূপ, সবচেয়ে বেশি স্টার থাকা জাভাস্ক্রিপ্ট রিপোজিটরি খুঁজে বের করা। GitHub API কি নয়ে 사용할 수 있습니다।

কীভাবে করবেন

  1. requests প্যাকেজ ইনস্টল করুন: pip install requests
  2. GitHub API কল করুন:
    import requests
    
    site_url = 'https://api.github.com/search/repositories?q=language:javascript&sort=stars'
    headers = {'Accept': 'application/vnd.github.v3+json'}
    response = requests.get(site_url, headers=headers)
    print(f"Output \n *** Response from {site_url} is {response.status_code} ")
    
    আউটপুট: Response ... is 200
  3. JSON রেসপন্স পার্স করুন:
    response_json = response.json()
    print(response_json.keys())  # dict_keys(['total_count', 'incomplete_results', 'items'])
    print(response_json['total_count'])  # ১১ মিলিয়ন+ জাভাস্ক্রিপ্ট রিপো
    
  4. প্রথম রিপোজিটরির ইনফো দেখুন:
    repositories = response_json['items']
    first_repo = repositories[0]
    print(first_repo['name'], first_repo['owner']['login'], first_repo['watchers_count'])
    # freeCodeCamp freeCodeCamp 316079
    
  5. Plotly দিয়ে ভিজ্যুয়ালাইজ করুন (pip install plotly):
    from plotly.graph_objs import Bar
    from plotly import offline
    
    repo_names, repo_stars = [], []
    for repo_info in repositories:
        repo_names.append(repo_info['name'])
        repo_stars.append(repo_info['stargazers_count'])
    
    data_plots = [{'type': 'bar', 'x': repo_names, 'y': repo_stars}]
    layout = {'title': 'GitHubs Most Popular Javascript Projects',
              'xaxis': {'title': 'Repository'},
              'yaxis': {'title': 'Stars'}}
    
    fig = {'data': data_plots, 'layout': layout}
    offline.plot(fig, filename='Most_Popular_JavaScript_Repos.html')
    

এই HTML ফাইল ব্রাউজারে খুললে ইন্টারেক্টিভ বার চার্ট দেখাবে।

  1. Matplotlib-এ ইন্টারপোলেশনসহ প্রিসিশন-রিকল কার্ভ ড্র করুন

  2. Bokeh (Python)-এ ইমেজ নিয়ে কাজ করার পদ্ধতি

  3. পাইথনে টেনসরফ্লো দিয়ে ট্রেনিং রেজাল্ট ভিজ্যুয়ালাইজ করা

  4. পাইথনে পাইগ্যাল (Pygal) ব্যবহার করে ট্রিম্যাপ (Treemap) ভিজ্যুয়ালাইজ করার পদ্ধতি