Python Matlplotlib将超链接添加到文本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Matlplotlib将超链接添加到文本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1590字,纯文字阅读大概需要3分钟。
内容图文
我已经使用matplotlib在Python中创建了一个图.在注释每行之后,我想使标签成为超链接(或者,使行本身成为超链接).该文本项有一个名为“ url”的属性,但是我已经尝试过了,但是我不知道它能做什么.
是否可以使文本或线对象成为超链接?
解决方法:
This example显示了在输出SVG时如何设置超链接.请注意,这仅对SVG有意义.如果绘图仅是图像,则仅是图像,并且图像中不能包含超链接.
如果您希望能够在交互式绘图窗口中单击该对象并使其具有超链接的作用,则可以创建一个事件处理程序来处理“ pick”事件,并打开浏览器或其他任何控件.有关如何选择事件的信息,请参见this example. Matplotlib图不是网页,甚至不是真正的文档,它们只是显示了图形的窗口,因此它们不支持超链接.使用选择事件,您可以通过在单击对象时打开Web浏览器来模拟超链接.
编辑:您是对的,它不起作用.似乎URL属性仅读取并用于某些类型的对象.谷歌搜索,我看到一些关于它的matplotlib邮件列表的旧讨论,似乎是想逐步为不同的艺术家类型添加URL支持,但是我想他们从来没有解决过.我建议您在matplotlib bug tracker上提出一个关于此的错误.
同时,有一种方法可以做到,但是有点but回. URL是为PathCollection对象绘制的,因此可以从文本中创建路径,然后从该路径中创建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,但是它有一些缺点.最值得注意的是,似乎您必须在数据坐标中手动设置文本大小,因此相对于所绘制数据的大小而言,找到一个不太大或太小的文本大小可能要花些时间.
内容总结
以上是互联网集市为您收集整理的Python Matlplotlib将超链接添加到文本全部内容,希望文章能够帮你解决Python Matlplotlib将超链接添加到文本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。