图例位置:
使用 loc=‘upper left’ 指定图例的基本位置为左上角。
使用 bbox_to_anchor=(0.1, 0.9) 来进行自定义位置调整,其中 (0.1, 0.9) 指定图例相对于图形区域的坐标 (x, y)。
0.1 表示距离左边界的比例位置,0.9 表示距离上边界的比例位置。
其他位置选项:
常见的 loc 参数值包括:
‘upper right’
‘upper left’
‘lower left’
‘lower right’
‘right’
‘center left’
‘center right’
‘lower center’
‘upper center’
‘center’
import numpy as np
import matplotlib.pyplot as plt# 设置参数
rho = 0.77
x_value = np.logspace(-6, -3, 100) # x 从 10^-6 到 10^-3
t_values = [1, 5, 20] # 不同的 Q/Q' 值# 定义函数
def F_2(t, x_value, rho):return np.exp((np.log(t)**2) / (rho * np.log(x_value)))
# 计算不同的 F_2 值
F_2_values = {t: F_2(t, x_value, rho) for t in t_values}# 绘制图形
plt.figure(figsize=(8, 5))
for t in t_values:plt.plot(x_value, F_2_values[t], label=f'$Q/Q\' = {t}$', linestyle='-' if t == 1 else ('--' if t == 5 else ':'))
# 调整图例的位置
plt.legend(loc='upper left', bbox_to_anchor=(0.1, 0.9)) # 自定义图例位置plt.xlabel(r"$x$")
plt.ylabel(r"$F_2\left(\frac{Q}{Q^{'}}, x\right)$")
plt.xscale("log")
plt.ylim(0, 1.2)
plt.xlim(1e-6, 1e-3)
plt.grid(True) # 添加网格
plt.title("Function $F_2$ vs $x$ for different $Q/Q'$ values") # 添加标题
plt.show()