python在文本添加超链接_Python matlplotlib将超链接添加到文本

This example显示如何在输出SVG时设置超链接。请注意,这只对SVG有意义。如果情节只是一个图像,那只是一个图像,图像中不能有超链接。

如果您希望能够在交互式绘图窗口中单击对象并使其具有超链接的功能,您可以创建一个事件处理程序来处理“挑选”事件,并打开浏览器或其他任何东西。请参阅this example了解如何挑选事件。 Matplotlib图不是网页,甚至不是真正的文档,它们只是显示图形的窗口,所以它们不支持超链接;使用选取事件,您可以通过在单击对象时打开Web浏览器来模拟超链接。

编辑:你是对的,它不工作。看起来,URL属性只能读取并用于某些类型的对象。谷歌搜索,我看到一些老的matplotlib邮件列表讨论它,似乎想法是逐渐添加URL支持不同的艺术家类型,但我想他们从来没有解决它。我建议你在matplotlib bug tracker上提出这个问题。

与此同时,有办法做到这一点,但它有点迂回。该URL是为PathCollection对象绘制的,因此您可以从文本中创建一个Path,然后使PathCollection脱离该路径,然后将该PathCollection添加到您的图中。这里有一个例子:

pyplot.scatter([1, 2, 3], [4, 5, 6])

t = mpl.text.TextPath((2, 4), 'This is text', size=0.1)

pc = mpl.collections.PathCollection([t])

pc.set_urls(['http://www.google.com'])

ax = pyplot.gca()

ax.add_collection(pc)

pyplot.draw()

f = pyplot.gcf()

f.canvas.print_figure('fig.svg')

请注意,您必须使用set_urls,而不是set_url。这种方法生成一个可点击文本的SVG,但它有一些缺点。最值得注意的是,似乎你必须在数据坐标中手动设置文本大小,所以可能需要一些小小的操作才能找到相对于绘制的数据幅度来说文本大小不是太大或太小的文本大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值