【问题标题】:Unable to get a plot in python无法在 python 中获取绘图
【发布时间】:2020-04-23 08:14:16
【问题描述】:

我编写了一个绘制 sigmoid 函数的代码。代码非常简单而且很小。它也不会抛出任何错误。但是当我运行它时,我在图中得到一个白框而不是 S 形曲线。我无法理解我哪里出错了。请帮忙

import matplotlib.pyplot as plt
import math as mt

def sigmoid(x):
    for i in range(10):
        x = x + 0.1
        sigmoid = (1/(1 + mt.exp(-x)))
    return x, sigmoid

x, sig = sigmoid(0)   
plt.plot(x, sig)
plt.show()   

【问题讨论】:

  • @DeepSpace。那我应该写两次 plt.plot 吗?一个具有 x.arange 和 y.arange 值?其他带有 x 和 sig 的?

标签: python-3.x matplotlib math sigmoid


【解决方案1】:

您应该提供plot x值数组和y值数组。相反,您正在提供单个x值和单个y值。 xsigmoid 每次迭代都会被覆盖,只返回最后一个

也,给出函数和相同名称的函数很少是一个好主意。

ps你的代码只绘制正面,它缺少负面。

考虑:

def sigmoid(interval):
    xs = []
    ys = []
    for x in range(-interval, interval + 1):
        xs.append(x)
        ys.append(1 / (1 + mt.exp(-x)))
    return xs, ys

x, y = sigmoid(5)
plt.plot(x, y)
plt.show()

输出

【讨论】:

  • 即使使用x + = 1,我们也不会得到一个sigmoid span>
  • @ devlearner,因为你只画了正面。查看我的更新答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
相关资源
最近更新 更多