第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Plotly express 折線圖 - 獲取默認(rèn)顏色

Plotly express 折線圖 - 獲取默認(rèn)顏色

湖上湖 2022-12-20 09:58:42
我有一個(gè)多元時(shí)間序列的數(shù)據(jù)框,為此我創(chuàng)建了一個(gè)交互式 plotly express plot。我在字典指定的特定位置添加垂直線,每條線都與一個(gè)時(shí)間序列相關(guān)聯(lián),并希望將線顏色設(shè)置為與相應(yīng)變量的顏色一致。本質(zhì)上,在下圖中,每個(gè)垂直段都可以用 Fp1 或 Fp2 之一標(biāo)識,我想相應(yīng)地將其著色為紅色或黑色:首先我繪制數(shù)據(jù)框,其中 X 是我的時(shí)間序列矩陣,plotly.express 已導(dǎo)入為 px,pandas 導(dǎo)入為 pd,channels=['Fp1','Fp2']:df=pd.DataFrame(X,columns=channels)df['id'] = df.indexdf = pd.melt(df, id_vars='id', value_vars=df.columns[:-1])fig = px.line(df, x='id', y='value', color='variable',labels = {'id':'time (20K~100 sec)', 'value':'millivolts','variable':'channel'},title='Patient')隨后的計(jì)算產(chǎn)生一個(gè)字典,HFOs,其中每個(gè)鍵對應(yīng)的是我的兩個(gè)通道之一,每個(gè)值是一個(gè)時(shí)間列表,例如某種形式HFOs={'Fp1':[500,....,10500],'Fp2':[800,...11000]}然后我創(chuàng)建了我的線條并將它們添加到圖中:for channel,times in HFOs.items():    for t in times:                fig.add_shape(type='line',yref="y",xref="x",        x0=t,y0=df['value'].min()*1.2,x1=t,y1=df['value'].max()*1.2,line=dict(color='black',         width=.25))        fig.add_trace(go.Scatter(x=[t],y=         [df['value'].max()*1.5],mode='text',showlegend=False))    fig.show()這將創(chuàng)建如上所示的圖像。如何修改 line=dict(color='black',width=.25) 以將顏色更改為我想要的顏色?我希望垂直線有時(shí) [500,....,10500] 是藍(lán)色,有時(shí) [800,...11000] 是紅色。(當(dāng)然,以后會有更多的渠道。)我嘗試用“變量”替換“黑色”,但這并不奇怪,只是導(dǎo)致出現(xiàn)錯(cuò)誤消息。我覺得必須有一種非常簡單的方法來實(shí)現(xiàn)我的目標(biāo)。
查看完整描述

1 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

很酷的問題??赡苡懈玫慕鉀Q方案,但這是我找到的解決方案。用以下代碼替換創(chuàng)建垂直線的代碼:


# fetch the colors of the traces from the figure. 

colors = [trace.line["color"] for trace in fig.data]


for inx, (channel,times) in enumerate(HFOs.items()):

    for t in times:        

        fig.add_shape(type='line',yref="y",xref="x",

        x0=t,y0=df['value'].min()*1.2,x1=t,y1=df['value'].max()*2,

                      line=dict(color=colors[inx], width=3))

fig.show()

結(jié)果圖如下所示(隨機(jī)數(shù)據(jù),使垂直線更寬以提高可見性):

http://img1.sycdn.imooc.com//63a117020001be0619401087.jpg

獲取默認(rèn)顏色列表的另一種方法是使用

px.colors.qualitative.Plotly,它會生成一個(gè)包含 10 個(gè)十六進(jìn)制顏色代碼的列表。我的理解是這些顏色將用于前 10 個(gè)系列,然后再次用于軌跡 11-20 等。


查看完整回答
反對 回復(fù) 2022-12-20
  • 1 回答
  • 0 關(guān)注
  • 320 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號