我剪了这段代码,它应该在几行上绘制一个表面:

import plotly.graph_objects as go
import plotly.io as pio
import math
import numpy as np

t_changes = np.linspace((0.005*2*math.pi)/60 , (1*2*math.pi)/60 , 10)

omega_all = np.linspace((1*2*math.pi)/60  ,(12*2*math.pi)/60 , 10)

max_values_all = [1.4185558393536863, 1.4325906947905434, 1.438658017942095, 1.4806644284478363, 1.4761508670671415, 1.4649492471829895, 1.464546919691028, 1.4578007061068432, 1.4428714932707587, 1.4500144702965356],[1.6441629388568684, 1.642323391267553, 1.6491736867101752, 1.6412988007431675, 1.6290382708032518, 1.687033971399921, 1.7249970205847203, 1.7375113332368095, 1.734492370556642, 1.7242648069286037],[2.0845437496335575, 2.072843683096361, 2.035169117911497, 2.063686038710132, 1.966491883139673, 2.036435788844538, 2.000384950132592, 1.9602627462709168, 1.9992717869448466, 2.02862099663119],[3.3253818185735087, 3.1215539630481604, 2.981889203258018, 2.8546336239840215, 2.7042612422101002, 2.575780911605224, 2.5755048740741917, 2.6205430458363095, 2.576086019821094, 2.487398700065042],[15.432838261722877, 6.5095720712941985, 5.200282346853118, 4.495357558732455, 4.136530871191216, 3.766634997051916, 3.6827888643956186, 3.4764385554542914, 3.430120257752737, 3.4201713261825426],[75.66433489618231, 15.94566966995464, 10.161220922127605, 8.007523032946853, 6.800634588849489, 6.000935050965966, 5.536898133810305, 5.21365607068837, 5.010566351336815, 4.708208983726101],[75.66286832418304, 15.363231967657855, 15.81080564424909, 13.0105751921456, 11.001714824633169, 9.553264617238883, 8.572992551192133, 8.004222045653602, 7.365317024063387, 7.085229662879642],[75.66242236630372, 15.363226081588929, 10.955988755682252, 13.158249063867139, 14.179122828320526, 13.460821531609223, 12.624633192306533, 11.937231489633758, 11.274180241228226, 10.672516546418693],[75.65799160190585, 21.62711751806979, 18.008379194730093, 14.53079025616018, 8.520673195597784, 14.016979085011064, 16.276408102947748, 17.05937073631494, 17.220381393056392, 16.8222819511244],[118.96662233164312, 66.31352570490306, 68.16962905085047, 61.396954421293266, 74.95559072827379, 67.92902322683065, 63.00643530404031, 63.21829273940191, 65.26976962802642, 67.46680681352494]
fig = go.Figure()

# Loop through each line and add it to the figure
for i in range(len(omega_all)):
    x_vals = [omega_all[i]*60/(2*math.pi)]* len(t_changes)
    y_vals = t_changes
    z_vals = max_values_all[i]
    fig.add_trace(go.Scatter3d(x=x_vals, y=y_vals, z=z_vals, mode='lines'))


fig.add_trace(go.Surface(x=(omega_all*60/(2*math.pi)), y=t_changes, z=max_values_all))
# Set layout
fig.update_layout(scene=dict(aspectmode="cube"))

# Show the figure
fig.show()

但结果是这样的:

enter image description here

我不明白为什么,也许你可以帮忙.

正如你所看到的那样,线条画得很好,但表面在错误的一边,在我看来,没有非常准确地追踪线条.

推荐答案

请判断一下这个?

我们只需要创建列表并将价值放入其中

import plotly.graph_objects as go
import plotly.io as pio
import math
import numpy as np

t_changes = np.linspace((0.005*2*math.pi)/60 , (1*2*math.pi)/60 , 10)

omega_all = np.linspace((1*2*math.pi)/60  ,(12*2*math.pi)/60 , 10)

max_values_all = [1.4185558393536863, 1.4325906947905434, 1.438658017942095, 1.4806644284478363, 1.4761508670671415, 1.4649492471829895, 1.464546919691028, 1.4578007061068432, 1.4428714932707587, 1.4500144702965356],[1.6441629388568684, 1.642323391267553, 1.6491736867101752, 1.6412988007431675, 1.6290382708032518, 1.687033971399921, 1.7249970205847203, 1.7375113332368095, 1.734492370556642, 1.7242648069286037],[2.0845437496335575, 2.072843683096361, 2.035169117911497, 2.063686038710132, 1.966491883139673, 2.036435788844538, 2.000384950132592, 1.9602627462709168, 1.9992717869448466, 2.02862099663119],[3.3253818185735087, 3.1215539630481604, 2.981889203258018, 2.8546336239840215, 2.7042612422101002, 2.575780911605224, 2.5755048740741917, 2.6205430458363095, 2.576086019821094, 2.487398700065042],[15.432838261722877, 6.5095720712941985, 5.200282346853118, 4.495357558732455, 4.136530871191216, 3.766634997051916, 3.6827888643956186, 3.4764385554542914, 3.430120257752737, 3.4201713261825426],[75.66433489618231, 15.94566966995464, 10.161220922127605, 8.007523032946853, 6.800634588849489, 6.000935050965966, 5.536898133810305, 5.21365607068837, 5.010566351336815, 4.708208983726101],[75.66286832418304, 15.363231967657855, 15.81080564424909, 13.0105751921456, 11.001714824633169, 9.553264617238883, 8.572992551192133, 8.004222045653602, 7.365317024063387, 7.085229662879642],[75.66242236630372, 15.363226081588929, 10.955988755682252, 13.158249063867139, 14.179122828320526, 13.460821531609223, 12.624633192306533, 11.937231489633758, 11.274180241228226, 10.672516546418693],[75.65799160190585, 21.62711751806979, 18.008379194730093, 14.53079025616018, 8.520673195597784, 14.016979085011064, 16.276408102947748, 17.05937073631494, 17.220381393056392, 16.8222819511244],[118.96662233164312, 66.31352570490306, 68.16962905085047, 61.396954421293266, 74.95559072827379, 67.92902322683065, 63.00643530404031, 63.21829273940191, 65.26976962802642, 67.46680681352494]
fig = go.Figure()

lx = []
ly = []
lz = []
# Loop through each line and add it to the figure
for i in range(len(omega_all)):
    x_vals = [omega_all[i]*60/(2*math.pi)]* len(t_changes)
    y_vals = t_changes
    z_vals = max_values_all[i]
    lx.append(x_vals)
    ly.append(y_vals)
    lz.append(z_vals)
    fig.add_trace(go.Scatter3d(x=x_vals, y=y_vals, z=z_vals, mode='lines'))


fig.add_trace(go.Surface(x=lx, y=ly, z=lz))
# Set layout
fig.update_layout(scene=dict(aspectmode="cube"))

# Show the figure
fig.show()

这是结果

enter image description here

此外,问题在于max_values_all是一个数组,而不是像t_changes omega_all这样的列表

Python相关问答推荐

Pandas 在最近的日期合并,考虑到破产

Pandas 有条件轮班操作

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

输出中带有南的亚麻神经网络

根据二元组列表在pandas中创建新列

"使用odbc_connect(raw)连接字符串登录失败;可用于pyodbc"

给定高度约束的旋转角解析求解

让函数调用方程

Django admin Csrf令牌未设置

Python全局变量递归得到不同的结果

幂集,其中每个元素可以是正或负""""

重置PD帧中的值

计算空值

如果有2个或3个,则从pandas列中删除空格

判断Python操作:如何从字面上得到所有decorator ?

如何在验证文本列表时使正则表达式无序?

为什么dict. items()可以快速查找?

如何提高Pandas DataFrame中随机列 Select 和分配的效率?

如何将一个文件的多列导入到Python中的同一数组中?

在Pandas 中以十六进制显示/打印列?