pri*_*llo 3 python plot text matplotlib legend
有什么方法可以在文本对象或图例中使用 matplotlib 在 python 的绘图中打印 % 符号?
这个基本示例没有原始百分号,其行为符合预期:
plt.figure()
TotEne,= plt.plot_date(time, ETTG['output'], 'b-', label='Total Energy')
UsEne,= plt.plot_date(time, EUUG['output'], 'r-',label='Used Energy')
plt.ylabel('kWh')
plt.text('2015-12-15',25000,'Energy Losses=%.2f'%pEW, clip_on=True)
plt.legend(handles=[TotEne,UsEne])
plt.show()
Run Code Online (Sandbox Code Playgroud)
在这种情况下,文本显示“能量损失=”。但我想知道是否有可能显示“能量损失=%”或“%能量损失=”。
当我尝试这样做时,它会引发类型错误。我只想按字面意思显示“%”字符。所以这样做:
plt.figure()
TotEne,= plt.plot_date(time, ETTG['output'], 'b-', label='Total Energy')
UsEne,= plt.plot_date(time, EUUG['output'], 'r-',label='Used Energy')
plt.ylabel('kWh')
plt.text('2015-12-15',25000,'%Energy Losses=%.2f'%pEW, clip_on=True)
plt.legend(handles=[TotEne,UsEne])
plt.show()
Run Code Online (Sandbox Code Playgroud)
引发此错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-559-9d13c78a6754> in <module>()
20 plt.ylabel('kWh')
21
---> 22 plt.text('2015-12-15',25000,'%Energy Losses=%.2f'%pEW, clip_on=True)
23
24 plt.legend(handles=[TotEne,UsEne])
TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud)
如何使用运算符在带有插值字符串的 matplotlib 图形中包含文字百分号(“%”)%?
小智 5
要打印,%您需要使用“转义”它"%%"。将您的代码更改为:
plt.text('2015-12-15',25000,'%%Energy Losses=%.2f'%pEW, clip_on=True)
Run Code Online (Sandbox Code Playgroud)