回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图在一个子图中为两个类别创建一个绘图。第一列表示FF类,第二列表示子批次中的RF类。在</p>
<p><code>x-axis</code>总是<strong>时间</strong>,而<code>y-axis</code>是剩余的列。换言之,这是一个只有一列的图。在</p>
<p>第一类和第二类总是有相同的列名,只是值不同。在</p>
<p>我试图在<code>for loop</code>中生成绘图,但问题是<strong>绘图无常地</strong>将每个列名视为不同的,因此它表示具有相同名称的<code>y-axis</code>的不同颜色的行。因此,在图例中也会创建一个条目。在</p>
<p>例如,在第一行<strong>时间vs price2010</strong>我希望子批次FF和RF都用相同的颜色(比如蓝色)表示,并且在图例中只有一个条目。在</p>
<p>我试着在<code>go.Scatter</code>中添加<code>legendgroup</code>,但没有用。在</p>
<pre><code>import pandas as pd
from pandas import DataFrame
from plotly import tools
from plotly.offline import init_notebook_mode, plot, iplot
import plotly.graph_objs as go
from plotly.subplots import make_subplots
CarA = {'Time': [10,20,30,40 ],
'Price2010': [22000,26000,27000,35000],
'Price2011': [23000,27000,28000,36000],
'Price2012': [24000,28000,29000,37000],
'Price2013': [25000,29000,30000,38000],
'Price2014': [26000,30000,31000,39000],
'Price2015': [27000,31000,32000,40000],
'Price2016': [28000,32000,33000,41000]
}
ff = DataFrame(CarA)
CarB = {'Time': [8,18,28,38 ],
'Price2010': [19000,20000,21000,22000],
'Price2011': [20000,21000,22000,23000],
'Price2012': [21000,22000,23000,24000],
'Price2013': [22000,23000,24000,25000],
'Price2014': [23000,24000,25000,26000],
'Price2015': [24000,25000,26000,27000],
'Price2016': [25000,26000,27000,28000]
}
rf = DataFrame(CarB)
Type = {
'FF' : ff,
'RF' : rf
}
fig = make_subplots(rows=len(ff.columns), cols=len(Type), subplot_titles=('FF','RF'),vertical_spacing=0.3/len(ff.columns))
labels = ff.columns[1:]
for indexC, (cat, values) in enumerate(Type.items()):
for indexP, params in enumerate(values.columns[1:]):
trace = go.Scatter(x=values.iloc[:,0], y=values[params], mode='lines', name=params,legendgroup=params)
fig.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>_trace(trace,indexP+1, indexC+1)
fig.update_xaxes(title_text=values.columns[0],row=indexP+1, col=indexC+1)
fig.update_yaxes(title_text=params,row=indexP+1, col=indexC+1)
fig.update_layout(height=2024, width=1024,title_text="Car Analysis")
iplot(fig)
</code></pre>
<p><a href="https://i.stack.imgur.com/yeHdd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yeHdd.png" alt="output of the code"/></a></p>