gpt4 book ai didi

python - 用精确值标记图中的曲线

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:06 27 4
gpt4 key购买 nike

enter image description here在下面的代码中,我们在一张图中绘制了 10 条曲线 if Ju<11:如何在每条曲线上写下让读者找出每一行的Ju 。例如,在每一行我们可以看到 Ju =1 ,另一行Ju=2和...

我的意思是在每行上放置标签及其确切的使用值

fig, (ax1) = plt.subplots(1)
for n in np.arange(100,200,100):
for z in np.arange(3,4):
ET_list=[]
uf_list=[]
for xx in range(1,819):
for uf in np.linspace(1e-26,1e-20,10):
Ju = dfimppara.iloc[xx, 1]
Jl = dfimppara.iloc[xx, 2]
lim = Ju - Jl
if lim > 1:
pass
else:
if Ju<11:
ET_list.append(ET(xx, z, n, 1, uf)/ET(xx, z, n, 1, 0))
uf_list.append(uf)
ax1.plot(uf_list, ET_list)
else:
pass

ax1.title.set_text('Fig1')
plt.xlabel('Un')
plt.ylabel('TT')
#plt.xscale('log')
plt.show()

请帮忙

最佳答案

您可以使用 matplotlib 中的 text(x,y,s) 函数。这是文档: https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.text.html

text 采用 3 个主要参数,xy,它们是文本的坐标。 s 是您要在绘图上写入的字符串。对于您来说,它将类似于 "Ju={:d}".format(Ju)

你应该有类似的东西

fig, (ax1) = plt.subplots(1)
for n in np.arange(100,200,100):
for z in np.arange(3,4):
ET_list=[]
uf_list=[]
for xx in range(1,819):
for uf in np.linspace(1e-26,1e-20,10):
Ju = dfimppara.iloc[xx, 1]
Jl = dfimppara.iloc[xx, 2]
lim = Ju - Jl
if lim > 1:
pass
else:
if Ju<11:
ET_list.append(ET(xx, z, n, 1, uf)/ET(xx, z, n, 1, 0))
uf_list.append(uf)
ax1.plot(uf_list, ET_list)
x = # Put here a float or int that represent the x coordinates of the text
y = # Put here a float or int that represent the y coordinates of the text
s = "Ju={:d}".format(Ju)
ax1.text(x, y, s)
else:
pass
ax1.title.set_text('Fig1')
plt.xlabel('Un')
plt.ylabel('TT')
plt.show()

您可以尝试的其他方法就是将其作为图例。您可以通过使用 ax.plot() 中的 label 参数为每​​行设置标签来设置图例。像这样:

fig, (ax1) = plt.subplots(1)
for n in np.arange(100,200,100):
for z in np.arange(3,4):
ET_list=[]
uf_list=[]
for xx in range(1,819):
for uf in np.linspace(1e-26,1e-20,10):
Ju = dfimppara.iloc[xx, 1]
Jl = dfimppara.iloc[xx, 2]
lim = Ju - Jl
if lim > 1:
pass
else:
if Ju<11:
ET_list.append(ET(xx, z, n, 1, uf)/ET(xx, z, n, 1, 0))
uf_list.append(uf)
ax1.plot(uf_list, ET_list, label="Ju={:d}".format(Ju))
else:
pass
ax1.title.set_text('Fig1')
# You have to set the legend
ax1.legend(loc="best")
plt.xlabel('Un')
plt.ylabel('TT')
plt.show()

关于python - 用精确值标记图中的曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58853256/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com