You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly生成K线图时报错TypeError: 'module' object is not callable求解决

解决Plotly生成K线图时的TypeError问题

错误原因分析

你遇到的 TypeError: 'module' object is not callable 是因为两个Plotly API调用的拼写错误:

  • go.candlestick 是模块,不是可调用的类,正确写法是*go.Candlestick*(类名首字母大写)
  • go.figure 同样错误,正确的图表实例化方法是*go.Figure*(首字母大写)

另外代码还存在两个小问题:

  1. 函数内的缩进不规范,fig = ... 和后续代码的缩进层级不对
  2. print(fig.show()) 无意义,fig.show() 本身就会渲染并显示图表,它返回None,打印这个值没有作用

修正后的完整代码

from time import time
import plotly.graph_objects as go
import pandas as pd

def PrintChartData():
    data = pd.read_csv("eurusd_m1_03.03.2022.csv")
    return data

def PrintDataChart():
    # 复用已有的读取函数,避免重复读取CSV
    data = PrintChartData()
    # 修正Candlestick的拼写(首字母大写)
    chart_data = go.Candlestick(
        x=data['time'],
        open=data['open'],
        high=data['high'],
        low=data['low'],
        close=data['close']
    )
    # 修正Figure的拼写(首字母大写)
    fig = go.Figure(data=[chart_data])
    # 直接调用show()显示图表,不需要print
    fig.show()

# 调用函数生成图表
PrintDataChart()

额外注意事项

  • 复用PrintChartData()函数可以避免重复执行pd.read_csv,提升代码效率
  • 确保你的CSV文件路径正确,且包含time、open、high、low、close这些列名,否则会出现KeyError

内容的提问来源于stack exchange,提问作者Armin Alborzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:57:25