Pyplot标签数学模式字符串格式

时间:2017-11-30 12:48:30

标签: python matplotlib string-formatting

我想在pyplot标签中写一个数学表达式,在这个表达式中我想使用变量值。看起来应该是这样的

enter image description here

我认为这可以通过字符串格式化完成。但以下不起作用

values = np.array([0.123, 1.234])
plt.plot(x, y, label='best fit curve $y={0:.2f}x+{1:.2f}$'.format(values))

2 个答案:

答案 0 :(得分:2)

要格式化的字符串中有两个占位符。但是您通过format方法提供单个值 相反,您需要提供与占位符一样多的参数。在这种情况下,你有一个元组/值数组,你可以简单地解压缩它,.format(*values)

import numpy as np
import matplotlib.pyplot as plt

values = np.array([0.123, 1.234])
plt.plot([0], [1], label='best fit curve $y={0:.2f}x+{1:.2f}$'.format(*values))
plt.legend()
plt.show()

enter image description here

答案 1 :(得分:1)

如果你在值迭代上使用splat运算符,那么我猜它应该可以正常工作吗?

plt.plot(x, y, label='best fit curve $y={0:.2f}x+{1:.2f}$'.format(*values))