You need to enable JavaScript to run this app. 使用Plotly绘制折线图出现'module' object is not callable报错的原因
优惠活动
大模型
产品
解决方案
定价
更多

使用Plotly绘制折线图出现'module' object is not callable报错的原因

报错原因

你遇到的'module' object is not callable报错核心是调用了plotly.graph_objs下的layout模块而非其提供的Layout类,具体问题点如下:

  • 大小写错误:go.layout是模块名,你需要调用的是构造布局的类go.Layout(首字母大写)
  • 缩进错误:layout、figure、pyo.plot这三行代码前多了不必要的缩进,和前面的data定义层级不匹配
  • 可选优化:数据透视表的values属性返回的是二维数组,直接传入y参数可能导致绘图异常,直接指定列名取值更稳妥

修正后可运行代码

import pandas as pd   
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
import plotly.offline as pyo
import plotly.graph_objs as go
import plotly.express as px

df1 = pd.read_csv("Funct_TDH_RISE_Corners_2p0_A.txt",delim_whitespace=True) 
df1.to_csv('TDH.csv',index=False)
df1['SPEC_MIN']=5
df1['SPEC_MAX']=30

TDH_PVT= pd.pivot_table(df1, index = ['Device_ID'],values = ['TDH_Rise[ns]'])

# 修正后的绘图代码
data=[go.Scatter(
            x=TDH_PVT.index,
            y=TDH_PVT['TDH_Rise[ns]'], # 直接指定列名取一维序列,避免二维数组的适配问题
            mode='lines',
            name='TDH_RISE'
    )]
layout=go.Layout(title='TDH RISE') # 替换为大写的Layout类,删除多余缩进
figure=go.Figure(data=data,layout=layout)
pyo.plot(figure)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 04:36:07