如何取消热图中的颜色栏标签
How to unbold colorbar labels in a heatmap
我有以下创建热图的代码:
import matplotlib.pyplot as plt
import seaborn as sns
# Load dataset from seaborn
flights = sns.load_dataset('flights')
flights = flights.pivot('month', 'year', 'passengers')
# Plot heatmap
fig1, ax1 = plt.subplots(figsize=(8,8))
ax = sns.heatmap(flights, annot=True, fmt='d', cbar_kws={'label': 'Passenger Numbers'})
# Rotate x-axis labels
ax1.set_xticklabels(ax1.get_xticklabels(), rotation=45)
# Set font size for colorbar title
ax1.figure.axes[-1].yaxis.label.set_size(12)
# Set font size for colorbar labels
ax1.figure.axes[-1].tick_params(labelsize=10)
# Set font for x-axis labels
plt.xticks(fontsize=12, fontstyle='oblique')
# Set font for y-axis labels
plt.yticks(fontsize=12, fontstyle='oblique')
# Bold 'February' in y-axis
for label in ax.get_yticklabels():
if label.get_text() == 'February':
label.set_weight('bold')
plt.show()
热图如下所示:
如何取消加粗颜色条标签(即颜色条中的 600、500、400 值等),使其取消加粗并类似于年份(在 x 轴上)和月份(在 y 轴上,二月除外)是否显示?
非常感谢任何知道这一点的人。
您可以尝试先设置样式,然后再进行更改,您可以尝试这样的操作:
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib
#Create the style of the font
font = {'family' : 'serif',
'weight' : 'normal',
'size' : 10}
matplotlib.rc('font', **font) #set the font style created
# Load dataset from seaborn
flights = sns.load_dataset('flights')
flights = flights.pivot('month', 'year', 'passengers')
# Plot heatmap
fig1, ax1 = plt.subplots(figsize=(8,8))
ax = sns.heatmap(flights, annot=True, fmt='d', cbar_kws={'label': 'Passenger Numbers'})
# Rotate x-axis labels
ax1.set_xticklabels(ax1.get_xticklabels(), rotation=45)
# Set font size for colorbar title
ax1.figure.axes[-1].yaxis.label.set_size(12)
# Set font size for colorbar labels
ax1.figure.axes[-1].tick_params(labelsize=10)
# Set font for x-axis labels
plt.xticks(fontsize=12, fontstyle='oblique')
# Set font for y-axis labels
plt.yticks(fontsize=12, fontstyle='oblique')
# Bold 'February' in y-axis
for label in ax.get_yticklabels():
if label.get_text() == 'February':
label.set_weight('bold')
plt.show()
如果这不起作用,您可以尝试更新样式的参数,然后再设置 x,y 轴的样式。您可以通过在 # Set font size for colorbar title
之前添加 plt.rcParams.update({'font.weight': 'normal'})
来尝试。你可以看到可能的字体 here.
我有以下创建热图的代码:
import matplotlib.pyplot as plt
import seaborn as sns
# Load dataset from seaborn
flights = sns.load_dataset('flights')
flights = flights.pivot('month', 'year', 'passengers')
# Plot heatmap
fig1, ax1 = plt.subplots(figsize=(8,8))
ax = sns.heatmap(flights, annot=True, fmt='d', cbar_kws={'label': 'Passenger Numbers'})
# Rotate x-axis labels
ax1.set_xticklabels(ax1.get_xticklabels(), rotation=45)
# Set font size for colorbar title
ax1.figure.axes[-1].yaxis.label.set_size(12)
# Set font size for colorbar labels
ax1.figure.axes[-1].tick_params(labelsize=10)
# Set font for x-axis labels
plt.xticks(fontsize=12, fontstyle='oblique')
# Set font for y-axis labels
plt.yticks(fontsize=12, fontstyle='oblique')
# Bold 'February' in y-axis
for label in ax.get_yticklabels():
if label.get_text() == 'February':
label.set_weight('bold')
plt.show()
热图如下所示:
如何取消加粗颜色条标签(即颜色条中的 600、500、400 值等),使其取消加粗并类似于年份(在 x 轴上)和月份(在 y 轴上,二月除外)是否显示?
非常感谢任何知道这一点的人。
您可以尝试先设置样式,然后再进行更改,您可以尝试这样的操作:
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib
#Create the style of the font
font = {'family' : 'serif',
'weight' : 'normal',
'size' : 10}
matplotlib.rc('font', **font) #set the font style created
# Load dataset from seaborn
flights = sns.load_dataset('flights')
flights = flights.pivot('month', 'year', 'passengers')
# Plot heatmap
fig1, ax1 = plt.subplots(figsize=(8,8))
ax = sns.heatmap(flights, annot=True, fmt='d', cbar_kws={'label': 'Passenger Numbers'})
# Rotate x-axis labels
ax1.set_xticklabels(ax1.get_xticklabels(), rotation=45)
# Set font size for colorbar title
ax1.figure.axes[-1].yaxis.label.set_size(12)
# Set font size for colorbar labels
ax1.figure.axes[-1].tick_params(labelsize=10)
# Set font for x-axis labels
plt.xticks(fontsize=12, fontstyle='oblique')
# Set font for y-axis labels
plt.yticks(fontsize=12, fontstyle='oblique')
# Bold 'February' in y-axis
for label in ax.get_yticklabels():
if label.get_text() == 'February':
label.set_weight('bold')
plt.show()
如果这不起作用,您可以尝试更新样式的参数,然后再设置 x,y 轴的样式。您可以通过在 # Set font size for colorbar title
之前添加 plt.rcParams.update({'font.weight': 'normal'})
来尝试。你可以看到可能的字体 here.