我在Matplotlib中创建一个图形,如下所示:
from matplotlib import pyplot as plt
fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')
我想为图形标题和轴标签指定字体大小。我需要这三种字体大小都不同,所以设置全局字体大小(mpl.rcParams['font.size']=x)不是我想要的。如何分别设置图形标题和轴标签的字体大小?
7(最佳解决方案)
from numpy import*
import matplotlib.pyplot as plt
X = linspace(-pi, pi, 1000)
class Crtaj:
def nacrtaj(self,x,y):
self.x=x
self.y=y
return plt.plot (x,y,"om")
def oznaci(self):
return plt.xlabel("x-os"), plt.ylabel("y-os"), plt.grid(b=True)
6(稍差的解决方案)
from numpy import*
M = array([[3,2,3],[1,2,6]])
class AriSred(object):
def __init__(self,m):
self.m=m
def srednja(self):
redovi = len(M)
stupci = len (M[0])
lista=[]
a=0
suma=0
while a<stupci:
for i in range (0,redovi):
suma=suma+ M[i,a]
lista.append(suma)
a=a+1
suma=0
b=array(lista)
b=b/redovi
return b
OBJ = AriSred(M)
sr = OBJ.srednja()
如果没有显式创建地物和轴对象,则可以在使用fontdict参数创建标题时设置标题字体大小。
使用fontsize参数创建x和y标签时,可以分别设置x和y标记字体大小。
例如:
plt.title('Car Prices are Increasing', fontdict={'fontsize':20})
plt.xlabel('Year', fontsize=18)
plt.ylabel('Price', fontsize=16)
也适用于海鸟和熊猫绘图(当Matplotlib是后端时)!
处理标签、标题等文本的函数接受与matplotlib.text.text相同的参数。对于字体大小,可以使用size/fontsize:
from matplotlib import pyplot as plt
fig = plt.figure()
plt.plot(data)
fig.suptitle('test title', fontsize=20)
plt.xlabel('xlabel', fontsize=18)
plt.ylabel('ylabel', fontsize=16)
fig.savefig('test.jpg')
对于全局设置标题和标签大小,mpl.rcParams包含axes.titlesize和axes.labelsize。(从页面):
axes.titlesize : large # fontsize of the axes title
axes.labelsize : medium # fontsize of the x any y labels
(据我所知,没有办法分别设置x和y标签大小。)
我看到axes.titlesize不影响suptitle。我想,你需要手动设置。