2017-05-27 12 views
0

私はPythonコーディングを学ぶための初期段階にあります。現在、私はSentdex YouTubeのチュートリアルビデオ(https://www.youtube.com/watchv=cExOVprMlQg&list=PLQVvvaa0QuDe6ZBtkCNWNUbdaBo2vA4RO)に従っていますが、plt.show()でいくつか問題が発生しています。私はこのビデオで詳述されているようにこのスクリプトをほぼそのまま書いていますが、私はStackOverflowを使って構文を更新していますが、実際にこのグラフを見ることはできませんでした。スクリプトを実行すると何も出ません。シェルは「>>」を吐き出します。私はバックエンドを変更し、unstalled、アップグレードし、matplotlibを再インストールしました。また、このビデオで見たPythonの正確なバージョンと、Parallels経由のOS XとWindows 10の他のいくつかのものでこのスクリプトを試しましたが、同じ問題が続いています。ここでmatplotlibの問題 - plt.show()が正しく実行されない

は私のコードは、これまでのところです:

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

プロットした関数を定義しました。しかし、決して関数を呼び出すことはありません!あなたのスクリプトはPythonの観点から空です。

最後にgraphRawFX()を追加して、実際に関数を呼び出すためにインデントを付けないでください。

このコードが不完全で問題がない場合は、インストールを確認してコードをクリーンアップしてください。輸入ピラブの全体が望ましくないように見えます。また、plyなど存在しません。基本的なもの、公式の例とドキュメントから始めて、たくさんの(高度な)ものを使っているyt-videoではない。

+0

ここにあなたの提案に従った後、私の出力した:トレースバック(最新)最後の呼び出し: ファイル "/Users/michaelsylvia/Documents/sentdexi.py"、29行目、 graphRawFX() ファイル "/Users/michaelsylvia/Documents/sentdexi.py"、10行目にgraphRawFXに 日( 'GBPUSD1d.txt'、unpack = True、 AttributeError:モジュール 'numpy'には 'loadtext'属性がありません)import pylabは同様の質問に対する回答でした。学習曲線、それは私がコード違反として不確実だと言われている同じ状況下で走ってはいけない。 – msylvia1012

+1

関数の名前が変更されたか、コードが偽(loadtxtがあります)しています。真剣に、私の推奨に従ってください:古いコード(今日のインストールでは動作しない可能性があります)を不明なソースからコピー&ペーストしないでください。 matplotlibの公式ドキュメントをベースにして、まず簡単なことをしよう! – sascha

+1

はい、はるかに*たくさん*簡単に始めて、時間をかけてください。おそらくもっと最新のビデオを見つけることが助けになるだろうか、より基本的なPythonのチュートリアル(matplotlibを忘れて、少しだけPythonに焦点を当てる) – mwm314

0

私はそれを動作させています(mac OS)。いくつかの入力問題があるかどうかを確認するために貼り付けをコピーしようとします。 (それは「輸入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() 
関連する問題