【问题标题】:How do I adjust tooltip in Pygal?如何在 Pygal 中调整工具提示?
【发布时间】:2017-01-03 20:57:28
【问题描述】:

我尝试制作一个条形图,以可视化 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')

我该如何解决这个问题,通过调整工具提示的字体大小或工具提示窗口的大小?

【问题讨论】:

    标签: python pygal


    【解决方案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'],
           }
    

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

    【讨论】:

    • 天啊!这太疯狂了,但你是马特斯先生吗??!!
    • 是的,我有时会看 SO 的 Pygal 问题。 :)
    • 感谢您的解决方法! (顺便说一句,真的很喜欢你书中的项目......)
    猜你喜欢
    • 2016-07-19
    • 2016-06-22
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    相关资源
    最近更新 更多