使用pygal可视化GitHub上星数最多的仓库

# coding=utf-8

#杨昊—2018/3/1

import requests

import pygal 
from pygal.style import LightColorizedStyle as LCS,LightenStyle as LS


#执行挨批调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("Status code:",r.status_code)


#将API响应存储在一个变量中
response_dict=r.json()


#处理结果
print("Total Repositories:",response_dict['total_count'])


#探索有关仓库的信息
repo_dicts=response_dict['items']
print("Number of items:",len(repo_dicts))


names,plot_dicts=[],[]
for repo_dict in repo_dicts:
    names.append(repo_dict['name'])
    if repo_dict['description']:
        plot_dict={
            'value':repo_dict['stargazers_count'],
            'label':repo_dict['description'],
            'xlink':repo_dict['html_url']
            }
        plot_dicts.append(plot_dict)
    else:
        plot_dict={'value':repo_dict['stargazers_count'],  
                   'label':'ABC',
                   'xlink':repo_dict['html_url']}  
        plot_dicts.append(plot_dict)  
#可视化
my_style=LS('#333366',base_style=LCS)


my_config=pygal.Config()
my_config.x_label_rotation=45
my_config.show_legend=True
my_config.title_font_size=24
my_config.label_font_size=14
my_config.major_label_font_size=18
my_config.truncate_label=15
my_config.show_y_guides=False
my_config.width=1000





chart=pygal.Bar(my_config,style=my_style)
chart.title='Most-Starred Python on Github'
chart.x_labels=names


chart.add('',plot_dicts)
chart.render_to_file('python_repos.svg')


#且每个条形图都是一个链接  点击可链接到对应GitHub的文章

结果如下:




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值