【问题标题】:Plot each iteration of for loop within if else statement in Python在 Python 中的 if else 语句中绘制 for 循环的每次迭代
【发布时间】:2018-02-07 09:28:02
【问题描述】:

我是这个提问行业的新手,所以请放轻松好吗?

我的目标是绘制我嵌套了 if else 语句的 for 循环的每一步。关于如何绘制每次迭代,我不确定从哪里开始?任何想法都非常感谢。

代码在下面......

for i in range(1,1001):
    #compute a random number between 0 and 1, following uniform distribution
    x=np.random.uniform(0,1,None)

    if state==0: 
        #we are in state 0
        if x<pi11:
            state=0
            freq_state0=freq_state0+1

        else:
            state=1
            freq_state1=freq_state1+1

    else: #we are in state 1
        if x<(1-pi22):
            state=0
            freq_state0=freq_state0+1

        else:
            state=1
            freq_state1=freq_state1+1

【问题讨论】:

  • 究竟是什么样的情节?你看过matplotlib吗?
  • state 在哪里初始化? pi11 是什么?您要绘制哪个变量?
  • 大家好!感谢您的回复。我试图绘制如下....我希望 x 轴是我运行 for 循环的次数(所以 1 到 1000)和 y 轴来显示我是哪个“状态” in(所以我将在 0 或 1 中)。是的,好像我需要使用 matplotlib。 State 和 pi11 都在我的这部分代码的“上方”初始化为用户输入。

标签: python loops if-statement plot


【解决方案1】:

编辑:Working code

one questionone answer 可能会有所帮助。

使用matplotlib

这是一个你可以使用的函数

    import matplotlib.pyplot as plt

    def plot_chart( iteration_number, freq_state):
        plt.scatter( iteration_number, freq_state)
        plt.show()
        plt.pause(0.0001)

【讨论】:

  • 感谢您的功能!我是个新手,但我不确定如何在我的代码中使用该函数?提醒一下,我希望为每个“步骤”绘制一个点。关于在我的代码中放置函数的位置,您有什么建议?以及如何将循环的每个步骤调用到函数中(例如,我希望该函数被使用 1000 次,以便每次通过 for 循环进行绘图。
  • pi11 和 pi22 取什么值?
  • 添加了一个指向工作代码的链接,不确定它是否会做你想要的,因为我不知道 pi11 和 pi22 会采用什么值。至于在哪里调用该函数,只需在循环中调用它,在 else-if 阶梯之后,而不是 inside it
  • 嘿!抱歉回复慢。我用您的示例代码再次尝试了这一点(非常感谢!),但仍然出现错误。我会将我的程序粘贴到另一条评论中,但简而言之,我尝试在 else-if 之后添加您共享的内容,但我收到此错误。我正在使用 Sypder 来运行它。文件“/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py”,第 251 行,在 show return _show(*args, **kw) TypeError: show() got an unexpected keyword argument 'block'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多