[英]change color scale in plotly line chart
我使用以下函數繪制每年數據的一條線(重疊以便我可以將一年與其他年份進行比較)。 我想要的是讓每條線的顏色定義為漸變而不是默認色標(即 2008 年的淺藍色線到 2017 年的深藍色線)。
這樣做的正確方法是什么? 我試過使用 colorscale 參數(見代碼),但無法弄清楚把它放在哪里。
def plotPMByYear_plotly(df, minyear):
allYears = list(set(list(df.Year)))
allYears = [int(x) for x in allYears if str(x) != 'nan']
data = []
df = df[df["Year"]>=minyear]
for year in allYears:
yeardf = df[df["Year"] == year]
trace = go.Scatter(
x = yeardf['Month'],
y = yeardf['Value'],
mode = 'lines',
name = year
)
colorscale='Jet',
data.append(trace)
iplot(data, filename='line-mode')
經過一番挖掘,我找到了如下代碼所示的解決方案:
from colour import Color def plotPMByYear_plotly(df, minyear,color1,color2): df = df[df["Year"]>=minyear] allYears = list(set(list(df.Year))) allYears = [int(x) for x in allYears if str(x) != 'nan'] allYears.sort() colors = list(Color(color1).range_to(Color(color2),len(allYears))) colors = ['rgb'+str(x.rgb) for x in colors] data = [] i = 0 for year in allYears: yeardf = df[df["Year"] == year] trace = go.Scatter( x = yeardf['Month'], y = yeardf['Value'], mode = 'lines', marker=dict(color=colors[i]), name = year ) i+=1 data.append(trace) layout = go.Layout( title = 'Year on Year comparison' ) fig = go.Figure(data=data, layout=layout) iplot(fig, filename='line-mode')
例如,它可以使用以下參數:
plotPMByYear_plotly(dfM, 2008,'white','red')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.