简体   繁体   中英

Setting font sizes of a seaborn plot

I'm struggling with setting the font sizes of a seaborn plot correctly. Setting the font size of the title works perfectly fine but unfortunately I didn't have any success yet regarding the font sizes of the axes and the legend. This is my code (using some dummy data):

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.DataFrame()
df['First PCA dimension'] = [1,2,3,4]
df['Second PCA dimension'] = [0,5,5,7]
df['Third PCA dimension'] = [1,2,6,4]
df['Data points'] = [1,2,3,4]

plt.figure(figsize=(42,30))
plt.title('2-D PCA of my data points',fontsize=32)

colors = ["#FF9926", "#2ACD37","#FF9926", "#FF0800"]
sns.scatterplot(x="First PCA dimension", y="Second PCA dimension", hue="Data points", palette=sns.color_palette(colors), data=df, legend="full", alpha=0.3)
sns.set_context("paper", rc={"font.size":48,"axes.titlesize":48,"axes.labelsize":48})   
plt.savefig(outputPath+'/PCA/'+'PCA_2D.png',dpi=100,bbox_inches='tight')

, which results in the following output:

二维 PCA 输出

Changing the numbers in the "set_context" function doesn't have any effect.

BTW, the figure size is too big (42x30) :

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.DataFrame()
df['First PCA dimension'] = [1,2,3,4]
df['Second PCA dimension'] = [0,5,5,7]
df['Third PCA dimension'] = [1,2,6,4]
df['Data points'] = [1,2,3,4]

plt.figure(figsize=(42,30))
plt.title('2-D PCA of my data points',fontsize=32)

colors = ["#FF9926", "#2ACD37","#FF9926", "#FF0800"]
b = sns.scatterplot(x="First PCA dimension", y="Second PCA dimension", hue="Data points", palette=sns.color_palette(colors), data=df, legend="full", alpha=0.3)
sns.set_context("paper", rc={"font.size":48,"axes.titlesize":48,"axes.labelsize":48})

b.set_ylabel('mylabely', size=54)
b.set_xlabel('mylabelx', size=54)
b.set_xticklabels([1,2,3,4,5,6,7,8], fontsize = 36)

lgnd = plt.legend(fontsize='22')
for handle in lgnd.legendHandles:
    handle.set_sizes([26.0])

plt.show()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM