【问题标题】:According to tutorial fig did not need to be used, but receiving unused variable error in vscode根据教程图不需要使用,但在vscode中收到未使用的变量错误
【发布时间】:2019-02-10 13:00:35
【问题描述】:

我从 sentdex 外汇机器学习教程中得到以下代码

每当我运行此代码时,都会弹出一个没有绘制数据的空图表。警告还显示变量 fig 未使用。

我删除了 fig 变量,尝试导入 pandas 并使用该语法运行代码版本,并尝试更改用于 matplotlib 的后端。

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

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)

 ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))

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

显示适当绘制数据的图表。

【问题讨论】:

    标签: python python-3.x visual-studio-code


    【解决方案1】:

    就目前的代码而言,从功能上讲,它基本上是这样的:

    import matplotlib.pyplot as plt
    
    plt.grid(True)
    plt.show(True)
    

    它从matplotlib 导入plt,然后创建一个网格并shows 它。代码中没有其他内容被使用。

    绘制数据的所有工作都将在从未被调用过的graphRawFX() 内进行。

    最后两行 plt.grid(True)plt.show(True) 缩进不正确。它们应该缩进到函数中。

    之后,您只需在代码末尾添加graphRawFX(),无需任何缩进,即可调用函数并绘制数据。

    为了更好的可读性和确保所有行的缩进正确,这里有一个稍微清理过的代码版本。

    请注意,import matplotlibimport matplotlib.ticker as mticker 也已被删除,因为在此特定代码中,它们不是必需的。

    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    import numpy as np
    
    
    def graphRawFX():
        date, bid, ask = np.loadtxt(
                                'GBPUSD1d.txt',
                                unpack=True,
                                delimiter=',',
                                converters={
                                    0: mdates.strpdate2num('%Y%m%d%H%M%S')})
    
        ax1 = plt.subplot2grid((40, 40), (0, 0), rowspan=40, colspan=40)
    
        ax1.plot(date, bid)
        ax1.plot(date, ask)
    
        ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))
    
    
        plt.grid(True)
        plt.show(True)
    
    graphRawFX()
    

    请注意,上述代码仅适用于 Python 2。要使其适用于 Python 3,请查看以下答案:https://stackoverflow.com/a/16496215/214150

    【讨论】:

    • 天哪,谢谢!! Python 3 的解决方法有效。自从我是 Python 新手以来,这一直让我感到沮丧。
    • 很高兴能帮上忙!欢迎使用 Python!你会喜欢的。一些建议:首先,找到一个你喜欢的 IDE(我个人喜欢带有 VS Code Python 扩展的 VS Code。它会有很大的不同。不要被它提供的所有东西吓倒。只需使用你需要的部分. 第二,不要害羞地寻求帮助。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多