Seaborn 带有 f 字符串的下标
Seaborn a lower subscript with f-string
我想使用 f-string 绘制一个下标 xticks 的图形,不仅是一位数的大小写,还有两位数的大小写,例如 L_1、L_2、... L_10,L_11,...
如何更正我的代码?
import matplotlib.pylab as plt
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set_theme()
import numpy as np
fig, ax = plt.subplots(figsize=(12, 10))
cmap = sns.diverging_palette(0, 230, 90, 60, as_cmap=True)
# plot heatmap
connectivity = np.zeros((14,14))
sns.heatmap(connectivity, annot=True, fmt=".2f",
linewidths=5, cmap=cmap, vmax = 1, vmin = -1, cbar_kws={"shrink": .8}, square=True)
label = [f"$L_{i}$" for i in [1,2,3,4,5,7,9,10,11,12,13,14,15,16]]
plt.yticks(plt.yticks()[0], labels=label, rotation=0)
plt.xticks(plt.xticks()[0], labels=label)
plt.show()
LaTeX 下标命令仅适用于一个字符,除非您将其括在大括号中。
因为你有一个 f-string 你需要转义文字大括号。
这给出:
label = [f"$L_{{{i}}}$" for i in [1,2,3,4,5,7,9,10,11,12,13,14,15,16]]
输出:
我想使用 f-string 绘制一个下标 xticks 的图形,不仅是一位数的大小写,还有两位数的大小写,例如 L_1、L_2、... L_10,L_11,...
如何更正我的代码?
import matplotlib.pylab as plt
import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set_theme()
import numpy as np
fig, ax = plt.subplots(figsize=(12, 10))
cmap = sns.diverging_palette(0, 230, 90, 60, as_cmap=True)
# plot heatmap
connectivity = np.zeros((14,14))
sns.heatmap(connectivity, annot=True, fmt=".2f",
linewidths=5, cmap=cmap, vmax = 1, vmin = -1, cbar_kws={"shrink": .8}, square=True)
label = [f"$L_{i}$" for i in [1,2,3,4,5,7,9,10,11,12,13,14,15,16]]
plt.yticks(plt.yticks()[0], labels=label, rotation=0)
plt.xticks(plt.xticks()[0], labels=label)
plt.show()
LaTeX 下标命令仅适用于一个字符,除非您将其括在大括号中。
因为你有一个 f-string 你需要转义文字大括号。
这给出:
label = [f"$L_{{{i}}}$" for i in [1,2,3,4,5,7,9,10,11,12,13,14,15,16]]
输出: