最近在做流量分析的可视化图,在网上找资料东学西凑的,最后想了个笨方法写成了这个样子:
现在的问题是注释里的内容过多,想分行显示,但是试过插入换行符,不管插入在哪都无法生效,这种注释是不支持换行么?
部分代码如下
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}$',可以试试
请问最后你解决这个问题了吗