matplotlib.pyplot.annotate添加的注释内容比较多,可以换行吗?

最近在做流量分析的可视化图,在网上找资料东学西凑的,最后想了个笨方法写成了这个样子:

现在的问题是注释里的内容过多,想分行显示,但是试过插入换行符,不管插入在哪都无法生效,这种注释是不支持换行么?

部分代码如下

annotation = plt.annotate(
                           ('time='+str(time_label[i]),
                           'src='+str(src[i]),
                           'dst='+str(dst[i]),
                           'srcport='+str(srcport[i]),
                           'dstport='+str(dstport[i]),
                           'length='+str(length[i])),
                           xy = (i + 0.1, length[i] +0.1), 
                           xycoords = 'data',
                           xytext = (i + 0.7, length[i] + 0.7), 
                           textcoords = 'data',
                           horizontalalignment = "left",                                            
                           arrowprops = dict(arrowstyle="simple",connectionstyle="arc3,
                           rad=-0.1"),
                           bbox=dict(boxstyle="round", 
                           facecolor="w",
                           edgecolor="0.5", 
                           alpha=0.9)
                          )

 

这种提示好像不支持换行

应该是可以的, 用\n 参考下这段代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 6)
y = x * x

plt.plot(x, y, marker='o')
for xy in zip(x, y):
    plt.annotate("(%s,\n%s)" % xy, xy=xy, xytext=(-20, 10), textcoords='offset points')
plt.show()

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

plt.annotate的第一个参数写成‘This is a test\nHello!’是可以的,更进一步可以采用python合并字符串操作例如:‘str1’+'str2'来实现更多的形式,包括数学字符串合并r'$\mathrm{Gain=-3d}$'+'\n'+r'$\mathrm{Frequence=52.3dB}$',可以试试

请问最后你解决这个问题了吗