def illustrate(firstH,secondβ,thirdc,fourthfri,fifthuw): fig, axs = plt.subplots(5) fig.suptitle('Vertically stacked subplots') axs[0].plot(firstH, 1,color='red') axs[1].plot(secondβ, 1,color='red') axs[2].plot(thirdc, 1) axs[3].plot(fourthfri, 1) axs[4].plot(fifthuw, 1) plt.savefig('%d.jpg') canvas=FigureCanvasAgg(fig) response=HttpResponse(content_type='image/png') canvas.print_png(response) plt.close(fig) xzt=response return xzt这段代码1画的图为什么只有坐标轴
时间: 2023-12-02 10:02:32 浏览: 302
GRE阅读备考试题:动荡的时代背景.docx
这段代码中的 `axs[0].plot(firstH, 1,color='red')` 等语句只绘制了一条水平线,没有绘制出完整的曲线图。这是因为在 `plot` 函数中只传入了一个参数 `firstH`,而没有传入 x 轴坐标。因此,matplotlib 只会在 x 轴上等间隔地绘制几个点,然后将这些点用一条直线连接起来,形成了一条水平线。
要绘制出完整的曲线图,需要在 `plot` 函数中同时传入 x 轴和 y 轴坐标。例如,对于第一个子图,应该这样写:
```python
axs[0].plot(x_values, firstH, color='red')
```
其中 `x_values` 是一个与 `firstH` 长度相等的列表,里面存储了 x 轴的坐标值。同样的方法也适用于其他子图的绘制。
阅读全文