繁体   English   中英

在python图中添加额外信息?

[英]Add an extra information in a python plot?

假设我们有一个带有三个图的图,用于三个不同的参数。 但对于所有三个图我们有相同的温度T = 4K。 那我怎么能在图中添加这些信息呢?

我没有兴趣把它写在标题中。 我希望它在数字本身。

figtext会运作良好。

figtext优于textannotate的优点是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()方法在剧情中添加文字。

在matplotlib pyplot中绘制文本

这是使用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将使字符串居中。 您还可以使用fontsizebbox参数来更改字符串及其区域的外观。

我建议在T = 4K区域周围有一个灰色的水平区域

如果你在matplotlib文档中查看axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs) ,你可以做出类似的事情:

水平和垂直区域

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM