2 回答

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
考慮使用單個(gè)字符串來格式化
import matplotlib.pyplot as plt
A = [5,4,3]
fig, ((ax1, ax2, ax3), (ax4, ax5, ax6)) = plt.subplots(2, 3, figsize=(22,10), sharex='col', sharey='row')
plot1, = ax1.plot([0,1], linestyle='None', marker='o', color='#6E9EAF', markersize=5)
plot1_R, = ax1.plot([0,1], linewidth=2, color="orange")
ax1.legend([plot1_R],
["$f(x) = {m}*x +$\n$R2 = {r}$".format(m=np.round(A[1],2),
b=np.round(A[0],2), r=np.round(A[2],2))])
plt.show()
此外,f
-strings 在這里可能會(huì)變得方便,其中在格式級(jí)別執(zhí)行舍入。
ax1.legend([plot1_R], [f"$f(x) = {A[1]:.2f}*x +{A[0]:.2f}$\n$R2 = {A[2]:.2f}$"])

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
在 python 中,你可以像這樣連接字符串:
"hello " "world"
并產(chǎn)生"hello world". 但是如果你這樣做,就會(huì)出現(xiàn)語法錯(cuò)誤:
"{} ".format("hello") "world"
因此,如果您想從 的輸出進(jìn)行連接format(),請使用+:
"{} ".format("hello") + "world"
在你的情況下(為了可讀性添加了換行符):
plt1.legend([plot1_R], [
"$f(x) = {m}*x +$".format(m=np.round(A[1],2), b=np.round(A[0],2))
+ "\n"
+ "$R2 = {r}$".format(r=np.round(A[2],2))
])
添加回答
舉報(bào)