3

我尝试制作一个条形图,以可视化 GitHub 上星级最高的项目。我添加了工具提示,但是,某些项目'label'的内容不太适合,而且某些项目的工具提示中没有显示某些链接。见下文,'xlink''label'

在此处输入图像描述

下面是使用 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')

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

4

1 回答 1

2

我认为没有一种干净的方法可以做到这一点。我认为您需要直接修改 .svg 文件。Pygal 项目有一个未解决的问题问这个问题。似乎有人找到了使用and 的解决方案,但这对我不起作用。在我的机器上只是被转换为一个空间。\nforce_uri_protocol='http'\n

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

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

如果您喜欢这个解决方案,您可以添加一些逻辑,以便短标签末尾没有省略号。我认为这是我下次遇到此问题时将使用的解决方案。

于 2016-08-27T16:42:12.587 回答