Second reversed x-axis in subplot?

Hello,
I have a plot that contains 4 subplots. and I need to have a plot that have two x axes and the secend one is reversed so:

fig = make_subplots(rows=1,cols=4,specs=[[{"type": "scatter"},{"type": "scatter"},{"type": "scatter"},{"type": "scatter"}]],
        column_widths=[2, 2, 2, 2], shared_yaxes=True, shared_xaxes=True, subplot_titles=("GR", "Neutron-Density", "Resestivity", WeelN3))

#I
 fig.add_trace(go.Scatter(x=None, y=None, name="ghost1", showlegend=False), row=1, col=1)    #COLUMN 1
 fig.add_trace(go.Scatter(x=None, y=None, name="ghost2", showlegend=False), row=1, col=2)    #COLUMN 2
 fig.add_trace(go.Scatter(x=None, y=None, name="ghost3", showlegend=False), row=1, col=3)    #COLUMN 3
 fig.add_trace(go.Scatter(x=None, y=None, name="ghost4", showlegend=False), row=1, col=4)    #COLUMN 4

 fig.update_layout(xaxis5 = {'anchor': 'y',  'overlaying': 'x', 'side': 'top'})  #Ghost Axis Column1
 fig.update_layout(xaxis6 = {'anchor': 'y2', 'overlaying': 'x2', 'side': 'top'}) #Ghost Axis Column2
 fig.update_layout(xaxis7 = {'anchor': 'y3', 'overlaying': 'x3', 'side': 'top'}) #Data Axis Column3
 fig.update_layout(xaxis8 = {'anchor': 'y4', 'overlaying': 'x4', 'side': 'top'}) #Data Axis Column4

 fig.add_trace(go.Scatter(x=Y_axeline, y=X_axe, line = dict(color = '#666768', width=0.5), hoverinfo='none',	fill=None, mode='lines',line_color='black', showlegend=False), row=1, col=1)  #trace0
 fig.add_trace(go.Scatter(x=Y_axegrn , y=X_axe, line = dict(color = '#666768', width=0.5), hoverinfo='none', fill='tonexty', fillcolor='rgba(0,250,0,0.4)', mode='lines', showlegend=False), row=1, col=1) # fill area between trace0 and trace1
fig.add_trace(go.Scatter(x=Y_axeline, y=X_axe, line = dict(color = '#666768', width=0.5), hoverinfo='none',	fill=None, mode='lines', line_color='black',showlegend=False ), row=1, col=1) #trace2
 fig.add_trace(go.Scatter(x=Y_axered , y=X_axe, line = dict(color = '#666768', width=0.5), hoverinfo='none', fill='tonexty',fillcolor='#eaf286', mode='lines',showlegend=False), row=1, col=1)# fill area between trace0 and trace3
fig.add_trace(go.Scatter(x=Y_axe    , y=X_axe, line = dict(color = '#666768', width=0.5),
        	text ="x+y",hoverinfo = "x+y", mode='lines',line_color=Lin_colr,showlegend=False), row=1, col=1)  #trace4
fig.update_xaxes(title_text=WeelN, row=1, col=1)


# this is the target plot.
fig.add_trace(go.Scatter(x=DensityP, y=depth, line = dict(color = linDinsity , width=1),hoverinfo = "x+y",showlegend=False) , row=1, col=2)
fig.add_trace(go.Scatter(x=NetrunP, y=depth, line = dict(color = linNeutron , width=1),hoverinfo = "x+y",showlegend=False ,xaxis='x2'), row=1, col=2)  #, xaxis="x2"
#I need to reverse and plot is as 2nd x axe?
fig.update_xaxes(title_text=WeelN2, row=1, col=2)

        fig.add_trace(go.Scatter(x=ResestivityP, y=depth, line = dict(color = line2 , width=1),hoverinfo = "x+y",showlegend=False), row=1, col=3)
        fig.update_xaxes(title_text=WeelN2, row=1, col=3)
        

        fig.add_trace(go.Scatter(x=Value3, y=depth3, line = dict(color = line3 , width=1),hoverinfo = "x+y",showlegend=False), row=1, col=4)
        fig.update_xaxes(title_text=WeelN3, row=1, col=4)

#Ghost Traces
fig.update_traces(xaxis='x5',yaxis='y' , selector = ({'name':'ghost1'})) 
fig.update_traces(xaxis='x6',yaxis='y2', selector = ({'name':'ghost2'})) 
fig.update_traces(xaxis='x7',yaxis='y3', selector = ({'name':'ghost3'})) 
fig.update_traces(xaxis='x8',yaxis='y4', selector = ({'name':'ghost4'})) 

fig.update_layout(xaxis5_range=range1)
fig.update_layout(xaxis6_range=NDiminmax)  # the new values Resminmax
fig.update_layout(xaxis7_range=ResistivityDiminmax)
fig.update_layout(xaxis8_range=range3)

the result with this code is as following

I had the above and bottom axes correctly but the lines are plotted as one axes and also I’am not able to reverse the green one?

and I had print the layout:

Layout({
‘annotations’: [{‘font’: {‘size’: 16},
‘showarrow’: False,
‘text’: ‘GR’,
‘x’: 0.10625,
‘xanchor’: ‘center’,
‘xref’: ‘paper’,
‘y’: 1.025,
‘yanchor’: ‘bottom’,
‘yref’: ‘paper’},
{‘font’: {‘size’: 16},
‘showarrow’: False,
‘text’: ‘Neutron-Density’,
‘x’: 0.36875,
‘xanchor’: ‘center’,
‘xref’: ‘paper’,
‘y’: 1.025,
‘yanchor’: ‘bottom’,
‘yref’: ‘paper’},
{‘font’: {‘size’: 16},
‘showarrow’: False,
‘text’: ‘Resestivity’,
‘x’: 0.6312500000000001,
‘xanchor’: ‘center’,
‘xref’: ‘paper’,
‘y’: 1.025,
‘yanchor’: ‘bottom’,
‘yref’: ‘paper’},
{‘font’: {‘size’: 16},
‘showarrow’: False,
‘text’: ‘AMA57’,
‘x’: 0.89375,
‘xanchor’: ‘center’,
‘xref’: ‘paper’,
‘y’: 1.025,
‘yanchor’: ‘bottom’,
‘yref’: ‘paper’}],
‘height’: 1000,
‘paper_bgcolor’: ‘white’,
‘template’: ‘…’,
‘xaxis’: {‘anchor’: ‘y’,
‘domain’: [0.0, 0.2125],
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14},
‘title’: {‘text’: ‘AMA57’}},
‘xaxis2’: {‘anchor’: ‘y2’,
‘domain’: [0.2625, 0.475],
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14},
‘title’: {‘text’: ‘AMA57’}},
‘xaxis3’: {‘anchor’: ‘y3’,
‘domain’: [0.525, 0.7375],
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14},
‘title’: {‘text’: ‘AMA57’}},
‘xaxis4’: {‘anchor’: ‘y4’,
‘domain’: [0.7875, 1.0],
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14},
‘title’: {‘text’: ‘AMA57’}},
‘xaxis5’: {‘anchor’: ‘y’,
‘overlaying’: ‘x’,
‘range’: [14.8682, 150.0],
‘side’: ‘top’,
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14}},
‘xaxis6’: {‘anchor’: ‘y2’,
‘overlaying’: ‘x2’,
‘range’: [0.0043, 0.4662],
‘side’: ‘top’,
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14}},
‘xaxis7’: {‘anchor’: ‘y3’,
‘overlaying’: ‘x3’,
‘range’: [2.0005, 592.0967],
‘side’: ‘top’,
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14}},
‘xaxis8’: {‘anchor’: ‘y4’,
‘overlaying’: ‘x4’,
‘range’: [14.8682, 150.0],
‘side’: ‘top’,
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14}},
‘yaxis’: {‘anchor’: ‘x’,
‘autorange’: ‘reversed’,
‘domain’: [0.0, 1.0],
‘tickangle’: 0,
‘tickfont’: {‘color’: ‘crimson’, ‘family’: ‘Rockwell’, ‘size’: 14},
‘title’: {‘text’: ‘Depth’}},
‘yaxis2’: {‘anchor’: ‘x2’, ‘domain’: [0.0, 1.0], ‘matches’: ‘y’, ‘showticklabels’: False},
‘yaxis3’: {‘anchor’: ‘x3’, ‘domain’: [0.0, 1.0], ‘matches’: ‘y’, ‘showticklabels’: False},
‘yaxis4’: {‘anchor’: ‘x4’, ‘domain’: [0.0, 1.0], ‘matches’: ‘y’, ‘showticklabels’: False}
})

I tried to solve this by making some tricks:

for the revers axes I set a range and reversed it like

fig.update_layout(xaxis6_range=NDiminmax[::-1])

for the plot itself I had ploted it in the same axes but with some math tricks
(normalize, reverse , adding , filtring ,…etc )

then I changed the hover to the initial data

it is not direct solution but it works
All my best