[英]Add an extra information in a python plot?
假设我们有一个带有三个图的图,用于三个不同的参数。 但对于所有三个图我们有相同的温度T = 4K。 那我怎么能在图中添加这些信息呢?
我没有兴趣把它写在标题中。 我希望它在数字本身。
figtext会运作良好。
figtext
优于text
和annotate
的优点是figtext
默认使用图形坐标,而其他默认使用轴的坐标(因此如果你的轴在不同图形之间不同,“T = 4K”会移动) 。
import matplotlib.pyplot as plt
plt.figure()
plt.xlim(-10, 10)
plt.ylim(0, .01)
plt.figtext(.8, .8, "T = 4K")
plt.show()
好吧,我不确定你的意思,但是你可以用text()
方法在剧情中添加文字。
这是使用annotate
的演示。 查看此示例以了解不同样式的注释。
import matplotlib.pyplot as plt
import numpy as np
plt.ion()
fig, ax = plt.subplots()
x = np.linspace(0,4,100)
plt.plot(x,2*x)
plt.plot(x,x**2)
plt.plot(x,np.sqrt(8*x))
ax.annotate('T = 4K', xy=(2,4), xycoords='data',
xytext=(-100,60), textcoords='offset points',
arrowprops=dict(arrowstyle='fancy',fc='0.6',
connectionstyle="angle3,angleA=0,angleB=-90"))
plt.show()
raw_input()
figtext
可以在多个子图的figtext
上进行注释,就像一个独立于数字的注释,这样你就可以在一张图片中做出额外的评论或评论。 我也在寻找这个。 感谢你们! :-)
import matplotlib.pyplot as plt
plt.figure(1)
plt.suptitle("SOME TITLE HERE")
#FIRST SUBPLOT
plt.subplot(311)
plt.ylabel(r"$a [m/s^2]$") # YOU CAN USE LaTeX TYPESETTING IN PYPLOT STRINGS!
plt.xlabel("time [s]")
plt.grid(True)
plt.plot(some_data)
# SECOND SUBPLOT
plt.subplot(312)
...
# THIRD SUBPLOT
plt.subplot(313)
...
# BOTTOM LABEL
plt.figtext(0.5, 0, "SOME LABEL BELOW ALL SUBPLOTS", ha="center", fontsize=7, bbox={"facecolor":"orange", "alpha":0.5, "pad":5})
# DRAW THE PLOT
plt.show()
如果x=0.5
Notre ha=center
将使字符串居中。 您还可以使用fontsize
和bbox
参数来更改字符串及其区域的外观。
我建议在T = 4K区域周围有一个灰色的水平区域
如果你在轴的matplotlib文档中查看axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs)
,你可以做出类似的事情:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.