在GitHub上请求数据下来绘制成柱状图 内容为按星排序的前30个python项目 在windows上运行 powershell里看结果 期间遭遇编码问题 最后导出为.svg文件
编码异常解决方式
移步:
http://blog.csdn.net/mastic_29/article/details/64918865
---Python语言实现
---quests,pygal第三方库实现
python_pos.py
import requests
import sys
import io
import pygal
from pygal.style import LightColorizedStyle as LCS,LightenStyle as LS
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
url = "https://api.github.com/search/repositories?q=language:python&sort=stars"
r = requests.get(url)
print("Status Code:",r.status_code)
response_dict = r.json()
repo_dicts = response_dict['items']
names,plot_dicts = [],[]
for repo in repo_dicts:
names.append(repo['name'])
plot_dict = {
'value':repo['stargazers_count'],
'label':repo['description'],
'xlink':repo['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=False
my_config.label_font_size = 17
my_config.major_label_font_size = 20
my_config.truncate_label = 15
my_config.show_y_guides = False
my_config.width = 1500
chart = pygal.Bar(my_config,style=my_style)
chart.x_labels = names
chart.add('',plot_dicts)
chart.render_to_file("python_repos.svg")