赞
踩
学习数据分析过程中的一些小实例,一方面加深我对代码的理解,另一方面希望对在看的您有一点小帮助。
import requests from plotly.graph_objs import Bar from plotly import offline # 执行API调用并存储响应 url = 'https://api.github.com/search/repositories?q=language:python&sort=stars' headers = {'Accept': 'application/vnd.github.v3+json'} r = requests.get(url, headers=headers) print(f"Status code: {r.status_code}") # 处理结果 response_dict = r.json() repo_dicts = response_dict['items'] stars, labels, repo_links = [], [], [] for repo_dict in repo_dicts: repo_name = repo_dict['name'] repo_url = repo_dict['html_url'] # 添加可点击的链接 repo_link = f"<a href='{repo_url}'>{repo_name}</a>" repo_links.append(repo_link) stars.append(repo_dict['stargazers_count']) owner = repo_dict['owner']['login'] description = repo_dict['description'] label = f"{owner}<br />{description}" labels.append(label) # 可视化 data = [{'type': 'bar', 'x': repo_links, 'y': stars, 'hovertext': labels, # 鼠标放上去时显示的信息 'marker': { # marker 设置影响条形设计 'color': 'rgb(60, 100, 150)', 'line': {'width': 1.5, 'color': 'rgb(25, 25, 25)'} }, 'opacity': 0.6, }] my_layout = { 'title': 'GitHub 上最受欢迎的python项目', 'titlefont': {'size': 28}, 'xaxis': {'title': 'Repository', 'titlefont': {'size': 24}, 'tickfont': {'size':14} }, 'yaxis': {'title': 'Stars', 'titlefont': {'size': 24}, 'tickfont': {'size': 14} }, } fig = {'data': data, 'layout': my_layout} offline.plot(fig, filename='python_repos.html')
效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。