首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python,matplotlib.pyplot看不到线条图

Python,matplotlib.pyplot看不到线条图
EN

Stack Overflow用户
提问于 2017-12-18 10:26:21
回答 1查看 1.1K关注 0票数 1

我正在尝试使用Spyder IDE中的matplotlib.pyplot包&Python3绘制元组列表。下面是我的代码的相关片段:

代码语言:javascript
复制
import matplotlib.pyplot as plt

def plot_test(item):
    xdata = []
    ydata = []
    for item in list_of_epoch_total_time_tuples:
        xdata = item[0]
        ydata = item[3]

    plt.plot(xdata,ydata)
    plt.ylabel('epoch_counter')
    plt.xlabel('square_error')
    plt.show()

下面是我的输出:

我看不到线条图。图形是空的吗?

1)我怎样才能正确地画出这个?

2)如何提供绘图范围,这样才不会有负值?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-18 10:42:48

首先,屏幕截图中的代码是plt.plot(xdata,item[3:]),而您添加到问题中的代码是plt.plot(xdata,ydata),我认为这就是您想要的。问题是您在每次迭代中都会覆盖xdata和ydata,因此它只是单个项值。请改用:

代码语言:javascript
复制
for item in list_of_epoch_total_time_tuples:
   xdata.append(item[0])
   ydata.append(item[1])

这会将值添加到列表的末尾,而不是覆盖变量的数据。此外,您还将item用作plot_test()的参数,但它似乎不会在任何地方使用,而且您还将name项用作for循环参数。您应该避免在这样的两个地方使用相同的名称,因为它可能会令人混淆。

用于更改您可以使用的范围:

代码语言:javascript
复制
plt.xlim(xmin=some_min, xmax=some_max)

代码语言:javascript
复制
plt.xlim(xmin=some_min)

如果您只想更改最小值。您可以对ylim执行类似的命令。

如果您有一个数据集,那么您可能还需要考虑使用numpy。使用numpy数组通常比使用列表和for循环更快

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47861390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档