如何在Pygal中调整工具提示?

时间:2016-08-27 08:11:02

标签: python pygal

我试图制作一个条形图,可以看到GitHub上最受欢迎的项目。我在工具提示中添加了'label''xlink',但是,'label'内容不太适合某些项目,而且某些项目中没有显示某些链接&#39}。提示。见下文,

enter image description here

下面是使用Pygal模块的Python代码,运行它并自己查看.svg文件。

import requests, pygal


url = 'https://api.github.com/search/repositories?q=language:python&sort=star'
r = requests.get(url)
repo_list = r.json()['items']

names, stars = [], []
for k in repo_list:
    names.append(k['name'])
    temp = {
            'value': k['stargazers_count'], 
            'label': k['description'],
            'xlink': k['html_url'],
           }
    stars.append(temp)

my_config = pygal.Config() 
my_config.x_label_rotation = 45

chart = pygal.Bar(my_config)
chart.title = 'GitHub, Python Most Starred Projects'
chart.x_labels = names
chart.add('', stars)
chart.render_to_file('MyFile.svg', force_uri_protocol = 'http')

如何通过调整工具提示的字体大小或工具提示窗口大小来解决此问题?

1 个答案:

答案 0 :(得分:1)

我认为没有一种干净的方法可以做到这一点;我认为您需要直接修改.svg文件。在Pygal项目中有open issue提出这个问题。似乎有人使用\nforce_uri_protocol='http'找到a solution,但这对我不起作用。在我的机器上\n只是转换为单个空格。

我能想到的最好的是将描述截断为一定数量的字符,如下所示:

temp = {
        'value': k['stargazers_count'], 
        'label': k['description'][:80] + "..." ,
        'xlink': k['html_url'],
       }

如果你喜欢这个解决方案,你可以添加一些逻辑,这样短标签不会在最后有省略号。我认为这是我下次遇到这个问题时会使用的解决方案。