plt.show()没有正确执行

时间:2017-05-27 01:15:34

标签: python matplotlib

目前,我正在尝试使用Sentdex YouTube教程视频(https://www.youtube.com/watchv=cExOVprMlQg&list=PLQVvvaa0QuDe6ZBtkCNWNUbdaBo2vA4RO),但是我遇到了plt.show()的一些困难。我已经按照本视频中的详细说明逐字编写了这个脚本,我已经转向StackOverflow来更新任何语法,但我还是无法实际查看此图表。当我运行脚本时,没有任何东西出现,shell只是吐出'>>'。我更改了后端,未经更改,升级并重新安装了matplotlib。我也尝试过这个脚本在这个视频中看到的Python的确切版本,以及通过Parallels在OS X和Windows 10上的其他一些版本 - 仍然遇到同样的问题。

到目前为止,这是我的代码:

import matplotlib
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
import numpy as np
import pylab


def graphRawFX():
    date, bid, ask = np.loadtext('GBPUSD1d.txt', unpack=True,
                                 delimiter='-',
                                 converters={0: mdates.strpdate2numb('%Y%m%d%H%M%S')})

    fig = plt.figure(figsize=(10,7))

    ax1 = plt.subplot2grid((40,40), (0), rowspan=40, colspan=40)
    ax1.plot(date, bid)
    ax1.plot(date, ask)

    ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d %H:#M:#S'))
    for label in ax1.axis,get_xticklabels():
        label.set_rotation(45) 

    ply.gca().get_yaxis().get_major_formatter().set_useOffset(False)


    plt.grid(True)
    plt.show()
    pylab.show()                             

对解决方案的任何想法?

2 个答案:

答案 0 :(得分:2)

您定义了一个绘制的函数。但你永远不会打电话给这个功能从python的角度来看,你的脚本是空的。

在末尾添加graphRawFX(),没有任何缩进来实际调用该函数。

如果此代码无论如何都不完整而不是您的问题,请检查您的安装并清理代码。整个导入pylab的东西看起来不受欢迎。另外ply不存在等等。从基础知识,官方示例和文档开始,而不是使用一些使用大量(高级)内容的yt-video。

答案 1 :(得分:0)

我有它工作(mac OS)。只是尝试复制粘贴,看看是否有一些打字问题。 (它没有使用“import pylab”和“pylab.show()”,我只是把它与你拥有的代码相同。

import matplotlib
import matplotlib.pyplot as plt
import matplotlib.ticker as mticher
import matplotlib.dates as mdates
import numpy as np
import pylab

def graphRawFX():
        date,bid,ask = np.loadtxt('GBPUSD1d.txt', unpack=True, delimiter=',',converters={0:mdates.strpdate2num('%Y%m%d%H%M%S')})

        fig = plt.figure(figsize=(10,7))
        ax1 = plt.subplot2grid((40,40), (0,0), rowspan=40, colspan=40)

        ax1.plot(date,bid)
        ax1.plot(date,ask)
        plt.gca().get_yaxis().get_major_formatter().set_useOffset(False)

        ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))
        for label in ax1.xaxis.get_ticklabels() :
                label.set_rotation(45)

        ax1_2=ax1.twinx()
        ax1_2.fill_between(date,0, (ask-bid),facecolor='g',alpha=.3)

        plt.subplots_adjust(bottom=.23)

        plt.grid(True)
        plt.show()
        pylab.show()

graphRawFX()