【问题标题】:matplotlib not showing x axis and y axis labels and values and chart title as wellmatplotlib 也没有显示 x 轴和 y 轴标签和值以及图表标题
【发布时间】:2022-11-10 06:40:37
【问题描述】:

我只是按照教程学习 python,但输出与预期不同 matplotlib 没有在图表上显示除条形之外的任何内容。

这是代码

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
packets = ['1.', '2', '3', '4', '5']
testTime = [2.3,1.7,3.5,2.9,1.2]
plt.bar(packets,testTime)
plt.ylabel('Responsi time (Seconds.milliseconds)')
plt.xlabel('Packets')
plt.title("Response Time")
plt.show()

这是输出屏幕截图

【问题讨论】:

  • 正如@eshirvana 所说,问题在于fig.add_axes([0,0,1,1]) 行,这不是必需的。但导致这种情况发生的原因是实际情节占据了图像的全部空间;将此行更改为fig.add_axes([0.1, 0.1, 0.9, 0.9]),它也可以正常工作。

标签: python matplotlib


【解决方案1】:

通过这个fig.add_axes([0,0,1,1]),轴将覆盖整个图,删除它或添加一个分数(小于 1),你会没事的:

import matplotlib.pyplot as plt

fig = plt.figure()
# ax = fig.add_axes([0,0,1,1])
packets = ['1.', '2', '3', '4', '5']
testTime = [2.3,1.7,3.5,2.9,1.2]
plt.bar(packets,testTime)
plt.ylabel('Responsi time (Seconds.milliseconds)')
plt.xlabel('Packets')
plt.title="Response Time"
plt.show()

输出:

【讨论】:

    【解决方案2】:

    除了@eshirvana 的回答:

    但是,如果您不知道 ax = fig.add_axes([0,0,1,1]) 使用哪些分数,您确实需要坐标轴 ax(例如用于子图),您可以执行以下操作:

    ax = fig.add_subplot(111)。这将创建一个 1x1 的网格并将子图放置在位置 1(有关传递给 add_subplot 的值的含义的更详细说明,请参见 here)。

    add_subplot() 的文档可以在 here 找到。并解释

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 2020-09-14
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多