import requests
import pygal
from pygal.styleimport LightColorizedStyleas Lcs, LightStyleas Ls
name, plots = [], []
r = requests.get("https://api.github.com/search/repositories?q=language:python&sort=stars")#得到api回应对象
print(r.status_code)#状态码
response_dict = r.json()#以json格式提取数据
dicts = response_dict['items']#项目列表
for dictin dicts:#遍历项目列表
name.append(dict['name'])#储存项目名字
plot = {"label":str(dict["description"]),"value":dict["stargazers_count"],'xlink':dict['html_url']}
plots.append(plot)#储存项目描述信息,项目访问地址,项目星数
config = pygal.Config()#创建配置信息对象
config.x_label_rotation =0#水平标签的向下的倾斜程度
config.show_legend =True#设置true,会增加一个信息出现控件
config.title_font_size =30#标题文字大小
config.label_font_size =14#副标签文字大小
config.major_label_font_size =20#主标签文字大小
config.width =1000#条形的宽度
config.truncate_label =5#标签显示的字符长度
config.show_y_guides =False#是显示条形顶部到y轴的虚线
my_style = Ls(base_style = Lcs)#以lcs为基准创建对象
chart = pygal.Bar(config,style = my_style)#以config的配置,和my_style对象的样式来创建表
chart.title ='GitHub上最受欢迎python的项目'#设置表的标题
chart.x_labels = name#设置水平标签的
chart.add('',plots)#设置各个水平标签的竖直标签的值、 鼠标放在条形上的描述和值、 点击后链接地址
chart.render_to_file("D:/1.svg")#把表下载到本地,以svg为后缀名