matplotlib画热力图如何调节字体大小
时间: 2023-10-05 15:12:16 浏览: 79
可以使用matplotlib中的rcParams参数来调整热力图的字体大小。
首先导入matplotlib库和numpy库:
```python
import matplotlib.pyplot as plt
import numpy as np
```
然后设置rcParams参数:
```python
plt.rcParams['font.size'] = 12 # 设置字体大小
```
最后绘制热力图:
```python
data = np.random.rand(10, 10)
plt.imshow(data, cmap='coolwarm')
plt.colorbar()
plt.show()
```
完整代码如下:
```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.size'] = 12 # 设置字体大小
data = np.random.rand(10, 10)
plt.imshow(data, cmap='coolwarm')
plt.colorbar()
plt.show()
```
运行结果如下图所示:
![heatmap](https://cdn.jsdelivr.net/gh/1077645536/CDN/blog/images/heatmap.png)
相关问题
matplotlib.pyplot 绘画热力图时调整数字字体的大小
要调整热力图中数字的字体大小,可以使用 `text` 函数。`text` 函数可以在指定的坐标上添加一个文本标签,包括数字和字体样式等信息。
例如,下面的代码将热力图中数字的字体大小设置为 10:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
data = np.random.rand(5, 5)
# 绘制热力图
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='coolwarm')
# 添加数字标签
for i in range(data.shape[0]):
for j in range(data.shape[1]):
text = ax.text(j, i, round(data[i, j], 2),
ha="center", va="center", color="w", fontsize=10)
ax.set_title("Heatmap with Annotated Numbers")
# 调整热力图的布局
fig.tight_layout()
plt.show()
```
在上面的代码中,我们首先使用 `imshow` 函数绘制热力图,然后使用两个嵌套的 `for` 循环为热力图添加数字标签。接着,我们调用 `text` 函数,并将字体大小设置为 10。最后,使用 `tight_layout` 函数调整热力图的布局。运行上面的代码,可以得到一个带有数字标签的热力图,其中数字的字体大小为 10。
matplotlib.pyplot 热力图调整数字大小
要调整热力图中数字的大小,可以使用 `heatmap` 函数的 `annot_kws` 参数。其中,`annot_kws` 参数是一个字典,可以设置热力图中数字的样式,包括字体大小、颜色等。
例如,下面的代码将热力图中的数字大小设置为 10:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
data = np.random.rand(5, 5)
# 绘制热力图
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='coolwarm')
# 添加数字标签
for i in range(data.shape[0]):
for j in range(data.shape[1]):
text = ax.text(j, i, round(data[i, j], 2),
ha="center", va="center", color="w", fontsize=10)
ax.set_title("Heatmap with Annotated Numbers")
# 设置数字标签的样式
annot_kws = {"fontsize": 10}
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",
rotation_mode="anchor", fontsize=10)
plt.setp(ax.get_yticklabels(), fontsize=10)
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
ax.set_xticklabels(['A', 'B', 'C', 'D', 'E'])
ax.set_yticklabels(['1', '2', '3', '4', '5'])
ax.tick_params(top=True, bottom=False, labeltop=True,
labelbottom=False)
# 调整热力图的布局
fig.tight_layout()
plt.show()
```
在上面的代码中,我们首先使用 `imshow` 函数绘制热力图,然后使用两个嵌套的 `for` 循环为热力图添加数字标签。接着,我们设置 `annot_kws` 参数为 `{"fontsize": 10}`,将数字标签的字体大小设置为 10。最后,使用 `setp` 函数设置 x 轴和 y 轴标签的字体大小为 10。运行上面的代码,可以得到一个带有数字标签的热力图,其中数字的大小为 10。