matplotlib中的最后一个图形标记未完全显示

时间:2013-04-21 22:10:46

标签: python matplotlib

我是matplotlib的新手。我在matplotlib中的图表没有完全显示最后一个标记。我已经尝试增加数字大小,没有任何变化。我需要扩展图形,使其显示最后一个标记,并将该线延伸过标记。这是我的代码:

    import numpy as np
    import matplotlib.pyplot as plt

    x = np.array([1,2,5,10,15,20])
    y = np.array([0.049,0.080,0.123,0.166,0.209,0.335])

    A = np.vstack([x, np.ones(len(x))]).T
    m, c = np.linalg.lstsq(A, y)[0]

    x = np.array([0,1,2,5,10,15,20])
    y = np.array([c,0.049,0.080,0.123,0.166,0.209,0.335])

    plt.plot(x, y, 'r*', label='Original data', markersize=7)
    plt.plot(x, m*x + c, 'b', label='Fitted line')
    fig = plt.figure(1)
    fig.set_size_inches(9,8)
    fig.suptitle('THE GRAPH OF ABSORBANCE AGAINST CONCENTRATION',fontsize=20)
    plt.xlabel('CONCENTRATION',fontsize=15)
    plt.ylabel('ABSORBANCE',fontsize=15)
    plt.grid()
    fig.savefig('graph.jpg')

真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

(大部分是从How to autoscale y axis in matplotlib?复制的)

您想要margins doc

ax.margins(y=.1, x=.1)

另见Add margin when plots run against the edge of the graph

matplotlib 1.3.x将包含rcParamaxes.xmarginaxes.ymargin以设置非零保证金(代码已在主数据库中)。