Matplotlib拆分长标题后变量无法渲染值的技术问题求助
解决Matplotlib长标题拆分后变量不渲染的问题
你的核心问题是:拆分长标题时,仅第一个字符串使用了f前缀,后续拼接的字符串没有开启f-string解析,导致{j}等变量名直接显示为文本而非对应值;另外多次调用plt.title()会覆盖之前的内容,所以最后一种方法也无效。
以下是几种符合PEP8规范且能正确渲染变量的实现方式:
方法1:多段f-string自动拼接
Python会自动拼接相邻的字符串,只要每一段都加上f前缀即可:
plt.title(f'Fitted 4th-degree Polynomial Curve of {window_2} years' f' Column {j}, Window {window} \nFecha: {hoy} {now}', size=16, weight='bold')
方法2:提前用多行f-string定义标题
用三引号的多行f-string先把标题内容整理好,再传入plt.title(),可读性更强:
title_content = f"""Fitted 4th-degree Polynomial Curve of {window_2} years Column {j}, Window {window} Fecha: {hoy} {now}""" plt.title(title_content, size=16, weight='bold')
方法3:使用format()方法格式化
如果习惯传统字符串格式化,可以先写好模板,再用format()传入变量:
plt.title('Fitted 4th-degree Polynomial Curve of {} years' ' Column {}, Window {} \nFecha: {} {}' .format(window_2, j, window, hoy, now), size=16, weight='bold')
内容的提问来源于stack exchange,提问作者Vacendak
相关产品推荐
相关产品推荐

