为什么我在matplotlib中的图不显示轴

时间:2018-09-11 09:04:09

标签: python pandas matplotlib

我在绘图时遇到了麻烦,因为当我在进行处理时,轴标签似乎显示在Jupyter Notebooks中。

但是,当我将文件导出到.py文件并在终端中运行该文件时,给出的图表没有轴标签。

fig = plt.figure(figsize = (15,5))

ax = fig.add_axes([0,0,1,1])
ax.set_title('Oil vs Banks Mean Return')
ax.set_xlabel('Date')
ax.set_ylabel('Price')

ax.plot(all_returns['Mean'], label = 'Banks Mean', color = 'green')
ax.plot(all_returns['Oil'], label = 'Oil', color = 'black')
ax.plot(movavg['Mean'], label = 'Mean MA', color = 'blue')
ax.plot(movavg['Oil'], label = 'OIL MA', color = 'red')

ax.legend()

plt.tight_layout();

在Jupyter笔记本中,它显示了轴和标签,例如。年份等: In Jupyter Notebooks it shows the axes and labels eg. Year etc.

但是,当我导出它时,它们就消失了: However, when I export it, they are gone

2 个答案:

答案 0 :(得分:2)

ax = fig.add_axes([0,0,1,1])

引起问题。在这里,您告诉matplotlib将所有图形空间用于实际绘图,而对轴和标签则不留任何空间。如果以此方式创建tight_layout()实例,则Axes似乎无效。而是将行替换为

ax = fig.add_subplot(111)

你应该很好。

答案 1 :(得分:0)

试试这个选项:

color_name = "grey"
ax.spines["top"].set_color(color_name)
ax.spines["bottom"].set_color(color_name)
ax.spines["left"].set_color(color_name)
ax.spines["right"].set_color(color_name)