Python 绘制烛台(matploblit)

Python 绘制烛台(matploblit),python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,这样做效果很好,可以绘制烛台图。这似乎与读取命令行(prog\u args\u数组)冲突: 这就给了我: def read_command_line(prog_args_array): prog = prog_args_array.pop(0) parser = argparse.ArgumentParser(description=__doc__, prog=prog) parser.add_argument('--version', action='version',

这样做效果很好,可以绘制烛台图。这似乎与
读取命令行(prog\u args\u数组)
冲突:

这就给了我:

def read_command_line(prog_args_array):
    prog = prog_args_array.pop(0)
    parser = argparse.ArgumentParser(description=__doc__, prog=prog)
    parser.add_argument('--version', action='version', version=VERSION)  
    return parser.parse_args(prog_args_array)

def main(prog_args_array):
    args = read_command_line(prog_args_array)
    ...

if __name__ == '__main__':
    sys.exit(main(sys.argv))
回溯(最近一次呼叫最后一次):
文件“/tdseq4.py”,第124行,在
系统出口(主(系统argv))
文件“/tdseq4.py”,第89行,主
图=图()
文件“/usr/lib/pymodules/python2.7/matplotlib/pyplot.py”,图中第343行
**kwargs)
文件“/usr/lib/pymodules/python2.7/matplotlib/backends/backend\u tkagg.py”,第80行,在新的图形管理器中
window=Tk.Tk()
文件“/usr/lib/python2.7/lib-tk/Tkinter.py”,第1683行,在__
baseName=os.path.baseName(sys.argv[0])
索引器:列表索引超出范围
make:**[all]错误1

它不在您的数据中,而是在加载后端。 如果有人打电话给你

Traceback (most recent call last):
  File "./tdseq4.py", line 124, in <module>
    sys.exit(main(sys.argv))
  File "./tdseq4.py", line 89, in main
    fig = figure()
  File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 343, in figure
    **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
    window = Tk.Tk()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1683, in __init__
    baseName = os.path.basename(sys.argv[0])
IndexError: list index out of range
make: *** [all] Error 1
它将显示您正在使用Tkinter

您需要查看如何调用
.py
文件,并从交互式shell中尝试


由于tkinter只查找sys.argv[0],因此可以将
导入sys;打印sys.argv
以查看参数的外观

它不在数据中,而是在加载后端。 如果有人打电话给你

Traceback (most recent call last):
  File "./tdseq4.py", line 124, in <module>
    sys.exit(main(sys.argv))
  File "./tdseq4.py", line 89, in main
    fig = figure()
  File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 343, in figure
    **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
    window = Tk.Tk()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1683, in __init__
    baseName = os.path.basename(sys.argv[0])
IndexError: list index out of range
make: *** [all] Error 1
它将显示您正在使用Tkinter

您需要查看如何调用
.py
文件,并从交互式shell中尝试


由于tkinter只查找sys.argv[0],因此可以将
导入sys;打印sys.argv
以查看参数的外观

我猜您修改了sys.argv,这会导致问题。这可以通过以下方法解决:

import matplotlib.pyplot as plt
print plt.get_backend()

(而不是使用
pop(0)
,后者实际上修改了
sys.argv
)。

我猜您修改了sys.argv,这会导致问题。这可以通过以下方法解决:

import matplotlib.pyplot as plt
print plt.get_backend()
(而不是使用
pop(0)
,后者实际上修改了
sys.argv