matplotlib 在海运热图中自动调整字体大小

o4tp2gmn  于 2023-06-23  发布在  其他
关注(0)|答案(4)|浏览(156)

使用seaborn heatmap时,是否有方法自动调整字体大小,使其完全适合正方形?例如:

sns.heatmap(corrmat, vmin=corrmat.values.min(), vmax=1, square=True, cmap="YlGnBu", 
        linewidths=0.1, annot=True, annot_kws={"size":8})

在这里,在“annot_kws”中设置大小。

2skhul33

2skhul331#

您还可以:

sns.heatmap(
    corrmat,
    vmin=corrmat.values.min(),
    vmax=1,
    square=True,
    cmap="YlGnBu",
    linewidths=0.1,
    annot=True,
    annot_kws={"fontsize":8}
)
yduiuuwa

yduiuuwa2#

如果你想要一些自动化的东西,这并不坏:

annot_kws={"size": 35 / np.sqrt(len(corrmat))},
mnemlml8

mnemlml83#

要调整seaborn heatmap的字体大小,有不同的方法

import seaborn as sns # for data visualization
flight = sns.load_dataset('flights') # load flights datset from GitHub seaborn repository

# reshape flights dataeset in proper format to create seaborn heatmap
flights_df = flight.pivot('month', 'year', 'passengers') 

sns.heatmap(flights_df) # create seaborn heatmap

sns.set(font_scale=2) # font size 2
    • 输出>>>**

sns.set(font_scale=2) # font size 2设置所有海运图标签大小,如果您愿意,可以使用另一种方法

import seaborn as sns # for data visualization
import matplotlib.pyplot as plt # for data visualization

flight = sns.load_dataset('flights') # load flights datset from GitHub seaborn repository

# reshape flights dataeset in proper format to create seaborn heatmap
flights_df = flight.pivot('month', 'year', 'passengers') 

sns.heatmap(flights_df) # create seaborn heatmap

plt.title('Heatmap of Flighr Dataset', fontsize = 20) # title with fontsize 20
plt.xlabel('Years', fontsize = 15) # x-axis label with fontsize 15
plt.ylabel('Monthes', fontsize = 15) # y-axis label with fontsize 15

plt.show()
    • 输出>>>**

mctunoxg

mctunoxg4#

尽管它扭曲了热图,但此示例说明了如何使用.set(...)上下文缩放字体

import matplotlib.pyplot as plt
import seaborn as sns
sns.set(font_scale=3)

# Load the example flights dataset and conver to long-form
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")

# Draw a heatmap with the numeric values in each cell
f, ax = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, annot=True, fmt="d", linewidths=.5, ax=ax)
f.savefig("output.png")

相关问题