python matplotlib 作图 ,xlabel位置和坐标刻度字体大小如何设置?

关注者
16
被浏览
128,694

5 个回答

更多更新请关注:

lne的科研记录本:Python-绘图边框、坐标轴、刻度等设置

*字体设置

一般中文不能正常显示,需要加上以下代码

import matplotlib.pyplot as plt
#显示中文
plt.rcParams['font.sans-serif']=['SimHei']
#显示正负号
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号

一般情况英文论文都用:Times New Roman

中文的代码表示:

字体代码 字体
SimHei 黑体
Kaiti 楷体
LiSu 隶书
FangSong 仿宋
YouYuan 幼圆
STSong 宋体

0、图表说明

1、图片大小、边框设置

import matplotlib.pyplot as plt
#设置图片大小
plt.figure(figsize=(10,6))bwith = 1 #边框宽度设置为2
ax = plt.gca()#获取边框
#设置边框
ax.spines['bottom'].set_linewidth(bwith)#图框下边
ax.spines['left'].set_linewidth(bwith)#图框左边
ax.spines['top'].set_linewidth(bwith)#图框上边
ax.spines['right'].set_linewidth(bwith)#图框右边
#取消边框
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

2、坐标轴标题设置

plt.xlabel('Year', fontdict={'family' : 'Times New Roman', 'size':20},labelpad=5)#labelpad为标题距离刻度线范围
plt.ylabel('SSD', fontdict={'family' : 'Times New Roman', 'size':20},labelpad=5)
坐标轴中有的会带有上下标、斜体等的表示方法如下
plt.xlabel('$m^2$  CO$_2$')   #此处表示下标  '$\it{r}$$_1$'
plt.ylabel('$\it{AAA}$$_1$')  #斜体+上标

3、刻度标签设置

plt.xticks(fontproperties = 'Times New Roman', size = 18)
plt.yticks(fontproperties = 'Times New Roman', size = 18)
#刻度线的大小长短粗细
plt.tick_params(axis="both", which="major", direction="in", width=1, length=5, pad=5)
#不显示刻度标签
ax.axes.xaxis.set_ticklabels([])
ax.axes.yaxis.set_ticklabels([])

4、刻度范围设置

plt.xlim(1950,2030)#x轴范围设置
plt.ylim(0,40)#y轴范围设置