(对不起,我的英语...)
我正在寻找一种创建plot.title的方法,该方法取决于开始时已经定义的变量。
我不是要你帮我做。只是为了帮助我查找文档,站点,论坛或类似内容。我在Google上找不到,我也不知道该怎么输入coz english不是我的母语。
目前,我正在显示图形并创建pdf。其中也包含图形,例如:
graphic = plt.figure(1)
plt.plot(ts, xs, label="Position")
plt.plot(ts, vs, label="Velocity")
plt.title("euler-k-10-c-0.1-dt-0.01")
plt.legend()
plt.xlabel("Time ts")
plt.ylabel("Valors of position xs and velocity vs")
plt.show()
pp = PdfPages("Graphics.pdf")
pp.savefig(graphic, dpi = 300, transparent = True)
pp.close()
我要修改的内容是: plt.title(“ euler-k-10-c-0.1-dt-0.01”)
我应该输入k,c和dt变量的值,我想更改图形的名称,使其与为这些变量选择的值一致。
例如,我的代码要求输入k,c和dt的英勇值,因此我输入: k = 1; c = 0; dt = 0.1
则图形标题为:euler-k-1-c-0-dt-0.1
非常感谢您!
答案 0 :(得分:0)
输入图解标题的字符串可以像其他字符串一样由变量组成。在您的特定情况下,类似
k = 1
c = 0
dt = 0.1
plt.title(f'euler-k-{k}-c-{c}-dt-{dt}')
会做这份工作。
这里我们使用了格式化的字符串文字;有关格式化字符串的其他方法,请参见e.g. this overview。
答案 1 :(得分:0)
def make_plots(tx,xs,k,c,dt)
graphic = plt.figure(1)
plt.plot(ts, xs, label="Position")
plt.plot(ts, vs, label="Velocity")
plt.title(f'euler-k-{k}-c-{c}-dt-{dt}')
plt.legend()
plt.xlabel("Time ts")
plt.ylabel("Valors of position xs and velocity vs")
plt.show()
pp = PdfPages("Graphics.pdf")
pp.savefig(graphic, dpi = 300, transparent = True)
pp.close()
制作函数并在更改k,c和dt时调用它。
答案 2 :(得分:0)
哇!谢谢,我觉得我没那么容易。
制作函数并在更改k,c和dt时调用它。
哼。是的,谢谢!但这不是重点哈哈。
此: plt.title(f'euler-k- {k} -c- {c} -dt- {dt}') 回答我的问题。有用 !现在我可以做到了:
k = int(input(“输入k的值:”))
在图的标题中考虑了我输入的k的勇气!
谢谢!
PS:我还想知道为什么我写它时会有错误消息:
k = input(“输入k的值:”)
这是因为您在执行输入时编写的“事物”被视为字符串,而不是整数或浮点数!所以我必须添加int()使其起作用!
谢谢你们,您真棒!