标题取决于变量的图

时间:2019-10-09 13:58:51

标签: python plot title

(对不起,我的英语...)

我正在寻找一种创建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

非常感谢您!

3 个答案:

答案 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()使其起作用!

谢谢你们,您真棒!