Matplotlib图例格式调整需求:将科学计数法改为上标形式
调整Matplotlib图例格式为指定的上下标形式
- 直接提取数值的指数部分,结合Matplotlib支持的LaTeX数学语法,就能生成
K_L = 10³这类格式的图例。
修改后的代码示例:
import matplotlib.pyplot as plt import numpy as np K = [1e3, 1e4] # 替换为你的实际x、y1数据 x = np.linspace(0, 10, 100) y1 = np.random.rand(100) for i in range(len(K)): # 计算10的指数,如1e3对应3,1e4对应4 exponent = int(np.log10(K[i])) # 用LaTeX语法构造标签,双层大括号用于在f-string中保留LaTeX所需的单括号 label = f'Simulation ($K_L = 10^{{{exponent}}}$)' plt.plot(x[:len(y1)], y1, 'o', label=label) plt.legend() plt.show()
说明:
- 使用
np.log10()提取K值的指数部分,转换为整数后嵌入LaTeX上标语法10^{...} - Matplotlib会自动解析
$包裹的数学表达式,将指数渲染为上标,最终图例呈现K_L = 10³的样式
内容的提问来源于stack exchange,提问作者KeplerNick123
相关产品推荐
相关产品推荐

