'Subscript labels in heatmap (in python seaborn)
I am trying to subscript my axis labels in a Python/sns heatmap; however, I don't know how to do it. Below is an example code from where I get the heatmap but labels are normal (attached figure), but I want them as subscript. For example, I would like to have Tair as air in subscript. Another example is Tair-Ts variable, where I want air and s in subscript.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
d = {'Tair': [25.55, 5.25, 1.99, 9.78],
'Ts': [0.45, 0.10, 0.69, 0.52],
'Tair-Ts': [-10, -7, -8, -5]}
df = pd.DataFrame(data=d) # data frame
corr = df.corr() # correlation matrix
ax = sns.heatmap(corr, linewidth=0.5) # heatmap
I would be extremely grateful if anyone can help me to get the labels as subscript.
Thank you.
Solution 1:[1]
In matplotlib, you can use dollar signs to indicate LaTeX formatting.
Your example could look like:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
d = {'Tair': [25.55, 5.25, 1.99, 9.78],
'Ts': [0.45, 0.10, 0.69, 0.52],
'Tair-Ts': [-10, -7, -8, -5]}
df = pd.DataFrame(data=d)
corr = df.corr()
labels = ['$T_{air}$', '$T_{s}$', '$T_{air}-T_{s}$']
ax = sns.heatmap(corr, xticklabels=labels, yticklabels=labels, linewidth=0.5)
plt.tight_layout()
plt.show()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | JohanC |


