I am taking a certain range of data points around the straight part of my curve, and attempting to extract an x-intercept out of it using a linear fit. I can display an equation for the line but can't seem to do much with it.
At the very least, I want to grab that equation, solve for x when y = 0 and then display that number below the graph.
What would be the best way to go about pulling this information out?
In an ideal scenario, I could display the entire data range, but only fit the range of data points that I have currently shown as well.
Thanks you for your help.
What it ideally should look like:

My Plot with the data filter:

The code:
Graph Builder(
Size( 618, 525 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :V1 ), Y( :I1 ), Page( :Sweep Name ), Overlay( :Test Count ) ),
Elements(
Line Of Fit( X, Y, Legend( 18 ), Confidence of Fit( 0 ) ),
Points( X, Y, Legend( 19 ) )
),
Local Data Filter(
Add Filter(
columns( :I1, :Test Count ),
Where( :I1 >= 0.003 & :I1 <= 0.008 ),
Where( :Test Count == "1" ),
Display( :Test Count, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"I1",
ScaleBox( 2 ),
{Min( 0 ), Max( 0.008 ), Inc( 0.001 ), Minor Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "On Voltage" )} )
)
);
Performing the great idea of @Dan_Obermiller this may look as follows:
Names Default To Here( 1 );
// generate data
dt = New Table( "Characteristic curve",
add rows( 21 ),
New Column( "V", set values( Matrix( -10 :: 10 ) / 10 ) ),
New Column( "I", set each value( If( Exp( :V ) < 1.5, 0, Exp( :V ) - 1.5 ) ) )
);
dt << show window( 0 );
// create a dashboard to display all windows
nw = New Window( "Dashboard Inverse Prediction",
H List Box( vlb_left = V List Box(), vlb_right = V List Box() ),
<<ON close="">= 0.2 ) ) )
)
);
// get report and make into data table
tb_lst = Report( fm_obj ) << xpath( "//TableBox" );
result_dt = tb_lst[N Items( tb_lst )] << make data table;
result_dt << show window( 0 );
// and fill into dashboard
vlb_left << append( outline box("Inverse Prediction", dg1 = result_dt << new data box()) );
dg1 << close side panels( 1 );
dg1 << set height( 30 );
// place GraphBuilder into dashboard
vlb_left << append(// visualize
dt << Graph Builder(
show control panel( 0 ),
Variables( X( :V ), Y( :I ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
)
);
vlb_left << append( dg2 = dt << new data box() );
dg2 << close side panels( 1 );
</ON>Since you are using a filter and then fitting a line to that small subset, use Fit Model to fit the line. That way you have the Inverse Prediction option from the red popup menu under Estimates > Inverse Prediction. Put your Y as 0 and JMP will find your X and even provide a 95% confidence interval for the X.