Anonymous
Как условно заполнить две линейные диаграммы разными цветами с помощью Plotly в Streamlit?
Сообщение
Anonymous » 05 дек 2024, 09:38
Я пытаюсь заполнить цветом пространство между двумя линейными диаграммами (между столбцом 1 и столбцом 2) следующим образом:
Желаемый результат:
[*]когда col1< /код> выше col2, залейте зеленым цветом.
[*]если col1 находится под col2, залейте красным цветом.
< /ul>
Я пробовал это:
Код: Выделить всё
def DisplayPlot(df):
month = df['month'].tolist()
col1 = df['col1'].tolist()
col2 = df['col2'].tolist()
col3 = df['col3'].tolist()
fig.add_trace(go.Scatter(x=month, y=col1, name='col1', line=dict(color='blue', width=4)))
fig.add_trace(go.Scatter(x=month, y=col2, name = 'col2',line= dict(color='red', width=2)))
fig.add_trace(go.Scatter(x=month, y=col3, name='col3',mode='lines',line = dict(color='#CDCDCD', width=2, dash='dot')))
# Edit the layout
fig.update_layout(
title=dict(
text='Title'
),
xaxis=dict(
title=dict(
text='Month'
)
),
yaxis=dict(
title=dict(
text='Taux'
)
),
)
st.plotly_chart(fig)
Но я понятия не имею, как добавить цвет на основе приведенного выше условия.
Вот набор данных:
МЕСЯЦ
COL1
COL2
COL3
Ян
0,1555
0,1256
0,1863
Февраль
0,1097
0,119
0,1863
Апрель
0,1459
0,175
0,1863
Мар
0,2804
0,26340,1863
Май
0,267
0,1855
0,1863
Подробнее здесь:
https://stackoverflow.com/questions/792 ... rs-using-p
1733380685
Anonymous
Я пытаюсь заполнить цветом пространство между двумя линейными диаграммами (между столбцом 1 и столбцом 2) следующим образом: [img]https ://i.sstatic.net/Jfpl602C.png[/img] Желаемый результат: [*]когда col1< /код> выше col2, залейте зеленым цветом. [*]если col1 находится под col2, залейте красным цветом. < /ul> Я пробовал это: [code]def DisplayPlot(df): month = df['month'].tolist() col1 = df['col1'].tolist() col2 = df['col2'].tolist() col3 = df['col3'].tolist() fig.add_trace(go.Scatter(x=month, y=col1, name='col1', line=dict(color='blue', width=4))) fig.add_trace(go.Scatter(x=month, y=col2, name = 'col2',line= dict(color='red', width=2))) fig.add_trace(go.Scatter(x=month, y=col3, name='col3',mode='lines',line = dict(color='#CDCDCD', width=2, dash='dot'))) # Edit the layout fig.update_layout( title=dict( text='Title' ), xaxis=dict( title=dict( text='Month' ) ), yaxis=dict( title=dict( text='Taux' ) ), ) st.plotly_chart(fig) [/code] Но я понятия не имею, как добавить цвет на основе приведенного выше условия. Вот набор данных: МЕСЯЦ COL1 COL2 COL3 Ян 0,1555 0,1256 0,1863 Февраль 0,1097 0,119 0,1863 Апрель 0,1459 0,175 0,1863 Мар 0,2804 0,26340,1863 Май 0,267 0,1855 0,1863 Подробнее здесь: [url]https://stackoverflow.com/questions/79248409/how-to-conditionally-fill-between-two-line-charts-with-different-colours-using-p[/url]