Plot multiple line chart in a single line chart

If you want to have it in Plotly, try this code:

import streamlit as st
import plotly.graph_objs as go
import pandas as pd
import numpy as np

dates = pd.date_range(start='2012-01-01', end='2024-01-01', freq='M')
actual_prices = np.abs(np.random.normal(loc=0.0, scale=10, size=len(dates))).cumsum() + 50
split_index = len(dates) // 2

trace1 = go.Scatter(x=dates[:split_index], y=actual_prices[:split_index], mode='lines', name='Price (First Half)', line=dict(color='blue'))
trace2 = go.Scatter(x=dates[split_index - 1:], y=actual_prices[split_index - 1:], mode='lines', name='Price (Second Half)', line=dict(color='red'))

data = [trace1, trace2]

layout = go.Layout(title='Price Trend Over Time with Color Transition',
                   xaxis=dict(title='Date'),
                   yaxis=dict(title='Price'),
                   hovermode='closest')

fig = go.Figure(data=data, layout=layout)
st.plotly_chart(fig)