在python中更改图的标签大小

时间:2019-03-15 18:15:38

标签: python matplotlib plot jupyter-notebook jupyter

我正在使用GetDistjupyter中绘制轮廓。我想知道如何更改轴和参数标签中数字的大小。 代码中的某些行包含标签,如下所示:

a,b,c = np.genfromtxt('data/data.txt',unpack=True)
names = ['H','M','z']
labels =  ['H','M','z']
samples0 = MCSamples(samples=[a,b,c],names = names, labels = labels)
g.triangle_plot([samples0],['H','M','z'],legend_labels=['Summation of data'], legend_loc='upper right',filled=True)

问题是当参数数量增加时,绘图应该变小以放置在打印纸中,然后我们看不到数字和参数的标签。

谢谢

3 个答案:

答案 0 :(得分:2)

您可以使用plot.legend(loc=2, prop={'size': 6})来增加图例大小。这将使用与matplotlib.font_manager.FontProperties属性相对应的关键字字典。 more about legends

1)。如果要根据x值增加绘图数据的大小,这将很有帮助。

# yvalues is the y value list widthscale = len(yvalues)/4 figsize = (8*widthscale,6) # fig size in inches (width,height) figure = pylab.figure(figsize = figsize) # set the figsize

如果您想不动态增加它们就可以使用plot.rc函数 例如。

import matplotlib.pyplot as plt

SMALL_SIZE = 8
MEDIUM_SIZE = 10
BIGGER_SIZE = 12

plt.rc('font', size=SMALL_SIZE)          # controls default text sizes
plt.rc('axes', titlesize=SMALL_SIZE)     # fontsize of the axes title
plt.rc('axes', labelsize=MEDIUM_SIZE)    # fontsize of the x and y labels
plt.rc('xtick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('ytick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE)    # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE)  # fontsize of the figure title

2)。第二个选项是

plt.rcParams["axes.labelsize"] = 22

或直接控制标签的大小

ax.set_xlabel("some label", fontsize=22)

要控制图例的字体大小,可以使用rcParams

plt.rcParams["legend.fontsize"] = 22

或直接在图例中指定大小

ax.legend(fontsize=22)

答案 1 :(得分:2)

我找到了棘手的答案

g.settings.axes_fontsize = 20
g.settings.lab_fontsize = 30
g.settings.x_label_rotation=47
g.settings.legend_fontsize = 40

通过使用g.setting中的GetDist,我们可以自定义绘图。

答案 2 :(得分:0)

您可以更改标签的字体大小以对其进行调整,以使其更明显。如果您可以通过添加一些虚拟数据和绘图代码来编辑问题以使其包含MCVE,则提供更具体的帮助会容易得多。