Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Plotly:如何从嵌套dict检索分组条形图的y轴值?_Python_Graph_Plotly - Fatal编程技术网

Python Plotly:如何从嵌套dict检索分组条形图的y轴值?

Python Plotly:如何从嵌套dict检索分组条形图的y轴值?,python,graph,plotly,Python,Graph,Plotly,这是我最后一本字典 {'1': {'Pen': [0.99], 'Note': [1.62]}, '2': {'Pen': [1.94], 'Note': [2.17]}} 我试图在python中使用plotly绘制组条形图 我得到了我的x值 [x代表cdict.key()中的x代表cdict.items()中的k,v代表cdict.items()] 我无法正确获取y值。请尝试: y_pen = [cdict[j]["Pen"][0] for j in cdict] y_note = [cd

这是我最后一本字典

{'1': {'Pen': [0.99], 'Note': [1.62]},
 '2': {'Pen': [1.94], 'Note': [2.17]}}
我试图在python中使用plotly绘制组条形图 我得到了我的x值
[x代表cdict.key()中的x代表cdict.items()中的k,v代表cdict.items()]

我无法正确获取y值。

请尝试:

y_pen = [cdict[j]["Pen"][0] for j in cdict]
y_note = [cdict[j]["Note"][0] for j in cdict]

y\u pen:

[0.99, 1.94]
[1.62, 2.17]
# imports
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
import numpy as np

cdict = {'1': {'Pen': [0.99], 'Note': [1.62]},
         '2': {'Pen': [1.94], 'Note': [2.17]}}

# get x-values, in this case ['Pen', 'Note']
xVals = list([cdict[k].keys() for k in cdict.keys()][0])

# get y-values, in this case [[0.99, 1.94], [1.62, 2.17]]
yVals = []
for x in xVals:
    yVals.append([cdict[j][x][0] for j in cdict])

# set up plotly figure
fig=go.Figure()

# add trace for each element in yVals
for i, y in enumerate(yVals):
  fig.add_traces(go.Bar(x=xVals, y=y, name = 'Group'+str(i+1)))

fig.show()

y\u注意:

[0.99, 1.94]
[1.62, 2.17]
# imports
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
import numpy as np

cdict = {'1': {'Pen': [0.99], 'Note': [1.62]},
         '2': {'Pen': [1.94], 'Note': [2.17]}}

# get x-values, in this case ['Pen', 'Note']
xVals = list([cdict[k].keys() for k in cdict.keys()][0])

# get y-values, in this case [[0.99, 1.94], [1.62, 2.17]]
yVals = []
for x in xVals:
    yVals.append([cdict[j][x][0] for j in cdict])

# set up plotly figure
fig=go.Figure()

# add trace for each element in yVals
for i, y in enumerate(yVals):
  fig.add_traces(go.Bar(x=xVals, y=y, name = 'Group'+str(i+1)))

fig.show()


在我看来,这就是你想要的:

如果是这种情况,您必须为x值创建一个列表,如
['Pen','Note']
,并检索y值列表,如
[[0.99,1.94],[1.62,2.17]

完整代码:

[0.99, 1.94]
[1.62, 2.17]
# imports
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
import numpy as np

cdict = {'1': {'Pen': [0.99], 'Note': [1.62]},
         '2': {'Pen': [1.94], 'Note': [2.17]}}

# get x-values, in this case ['Pen', 'Note']
xVals = list([cdict[k].keys() for k in cdict.keys()][0])

# get y-values, in this case [[0.99, 1.94], [1.62, 2.17]]
yVals = []
for x in xVals:
    yVals.append([cdict[j][x][0] for j in cdict])

# set up plotly figure
fig=go.Figure()

# add trace for each element in yVals
for i, y in enumerate(yVals):
  fig.add_traces(go.Bar(x=xVals, y=y, name = 'Group'+str(i+1)))

fig.show()

请告诉我们您的预期产量。