在Matplotlib中设置标题可以用plt.title()
为当前Figure添加标题或者ax.set_title()
对指定的axes添加标题(关于plt和ax的区别可以看对应文章)本文以plt.title()
为例讲解标题设置中的各种方法。
首先我们来看一下官方文档给出该函数的调用方法
matplotlib.pyplot.title(label, fontdict=None, loc='center', pad=None, **kwargs)
可以看到,其实对于标题设置,无非就是
- 标题内容(str)
- 字体
- 位置
当然,在大多数场景下使用plt.title()也就关注这三个部分,下面让我们来用例子解释各种用法。
首先是添加一个最朴实无华的标题
plt.title("This is a title")
![776abe033693d38bc24bb4062ed4bebb.png](https://i-blog.csdnimg.cn/blog_migrate/a6b5a5d39231a0fe47df83cbc8f0e81b.jpeg)
1、大小
下面可以通过fontsize参数调整字体大小,数字越大字体越大
plt.title("This is a title",fontsize = 20)
![a80721e3024e6911fddedb8421aaf63e.png](https://i-blog.csdnimg.cn/blog_migrate/f47c55ad62fecfbb8eacab085a1fe391.jpeg)
2、颜色
颜色可以使用color参数调整,可以是颜色名也可以是html颜色代码
plt.title("This is a title",fontsize = 20,color = 'blue')
![481f7099dfd4243e0fef32371b754e13.png](https://i-blog.csdnimg.cn/blog_migrate/e3088959e0b297ba7c7be60089315167.jpeg)
3、样式
可以通过fontstyle
修改字体样式,italic是斜体,oblique是倾斜
plt.title("This is a title",fontsize = 20,color = 'blue',fontstyle='italic')
![c2483ea21a7fb3ac4f2e7eff9ddceb38.png](https://i-blog.csdnimg.cn/blog_migrate/e407898ae2c5553cb4343ad45473dd4c.jpeg)
4、粗细
标题粗细可以通过修改fontweight完成,有以下选项
“'light', 'normal', 'medium', 'semibold','bold', 'heavy', 'black'
”
比如使用heavy可以加粗
plt.title("This is a title",fontsize = 20,color = 'blue',fontstyle='italic',fontweight = "heavy")
![87a960f5a7be14903f3a081511db3964.png](https://i-blog.csdnimg.cn/blog_migrate/991cce7f6774ded305295fc3e6943176.jpeg)
5、字体
Matplotlib默认的字体是DejaVu Sans
,如果你想修改字体可以使用family参数来实现,比如将字体修改为"cursive",注意你使用的字体必须是Matplotlib能够读取到的!
plt.title("This is a title",fontsize = 22,color = 'blue',fontstyle='italic',fontweight = "heavy",family = "cursive")
![51360124aab6aeb0bb090b2033e1f962.png](https://i-blog.csdnimg.cn/blog_migrate/f08fdf6988c6b570587b1a4d358ce42c.jpeg)
6、位置
标题位置可以通过loc参数调整,比如loc居左
plt.figure(figsize = (8,6))
plt.title("This is a title",fontsize = 22,color = 'blue',fontstyle='italic',fontweight = "heavy",family = "cursive",
loc ='left')
plt.show()
![fba599c2546a86b9572570417db026ce.png](https://i-blog.csdnimg.cn/blog_migrate/9ea9dfc305e3b333a0d7bc19b1fcafd0.jpeg)
7、旋转
可以通过rotation参数让标题旋转,比如旋转345度
plt.figure(figsize = (8,6))
plt.title("This is a title",fontsize = 22,color = 'blue',fontstyle='italic',fontweight = "heavy",family = "cursive",
loc ='left',rotation=345)
plt.show()
![38f7c6d10eb4bab7df9d273988fca6f7.png](https://i-blog.csdnimg.cn/blog_migrate/2c95c895c15a4de649cbd0f659a9db6a.jpeg)
8、背景颜色
可以通过backgroundcolor给标题添加背景颜色,比如添加背景色是粉色
9、边框
使用bbox参数给标题增加外框,需要为字典形式,其中
boxstyle
控制方框外形,- fc控制背景颜色
- ec控制边框线条颜色
- edgewidth控制边框线条大小
plt.figure(figsize = (8,6))
plt.title("This is a title",fontsize = 22,color = 'blue',fontstyle='italic',fontweight = "heavy",family = "cursive",
bbox=dict(ec='pink',fc ='w'))
plt.show()
![a6ea8f4ae3ba45add9b4b30c79c9413b.png](https://i-blog.csdnimg.cn/blog_migrate/66488e2efd1eb369d1d2b37dfc4632a3.jpeg)
10、对齐
我们可以发现,添加边框后,标题跑到坐标系里面去了,所以可以使用verticalalignment
调整水平对齐,可以使用'center' , 'top' , 'bottom'和 'baseline'四种对齐方式,竖直对齐可以使用horizontalalignment
现在让我们调整一下
plt.figure(figsize = (8,6))
plt.title("This is a title",fontsize = 22,color = 'blue',fontstyle='italic',fontweight = "heavy",family = "cursive",
bbox=dict(ec='pink',fc ='w'),verticalalignment = 'bottom')
plt.show()
![bce63551f9f80e301f0af4419ca619cf.png](https://i-blog.csdnimg.cn/blog_migrate/faa7cc1c7854e0c52e8669a2bfa90111.jpeg)
小结
到这里,本文就将Matplotlib中常见的标题设置整理完了。我没有采用枯燥的给一堆方法、参数定义,而是手把手的带大家操作一遍,当你看中某个标题样式的时候,就像使用各种图鉴一样,直接拿走代码即可使用。
本文配套的Jupyter Notebook
可以在后台回复「标题」获取,自己尝试一下,有任何问题可以给我留言,谢谢!
-END-