Subscribe Bookmark RSS Feed

How to force update (reshow) of Variability chart

samir

Community Trekker

Joined:

May 20, 2016

Hello,

I am having an isuue updating (refreshing) a graph when data is updated. So far I can see that it is linked to the Variability chart platform, because using the same code and only changing the Variability chart to Graph Builder seems to work.

The code given below is supposed to do the following:

  1. A window is launched with a button to collect data and a graph (Variability Chart)
  2. Initial values are given to allow the graph to be displayed.
  3. When the button is pressed, a data table is called and is updating the initial values. The issue is that the graph is not updated, although I ask for a graph reshow.
  4. If I change the variability Chart with Graph builder, the reshow works.

Any idea how to solve this ?

If there is also an idea on how to avoid using initial values in a faked table, that would be great (I would like to be able to call data without knowing upfront which columns I will get...).

The code I use is attached.

PS: I use in the example the data table "...JMP\11\Samples\Data\Variability Data\Wafer.jmp"

 

Many thanks

2 ACCEPTED SOLUTIONS

Accepted Solutions
Wendy_Murphrey

Joined:

Jun 23, 2011

Solution

In your New Window, you can add a DisplayBox that the graph is appended to.  For example, the following includes a VlistBox() for appending he Variability Chart.

MyWindow = New Window( "Window Controls",
	vl = V List Box(
		Panel Box( "1/ Start...", 
			g3 = Button Box( "Process Data...", 
				dt = Open( DataPath );
				vl << Append( dt << Variability Chart(/*<options>*/))
			)
		)
	)
);
Wendy
ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

Try:

 

gr = Variability Chart(
       Y( Eval( Param[i] ) ),
       X( :Operator, :Wafer ), ...
);
8 REPLIES
Wendy_Murphrey

Joined:

Jun 23, 2011

Hello,

It appears that you just need to turn on Automatic Recalc in order to for the updated data to be reflected in the Variability Chart.  Simply add the following option to the Variability Chart call before the Dispatch options: 

Automatic Recalc( 1 ),

Your second question appears to be more of a design question.  If you want to display a Variability Chart in your window before you have imported the updated data, then you must have some data for JMP to generate a Variabiltiy Chart.

Hope that helps.

Wendy
samir

Community Trekker

Joined:

May 20, 2016

Hi Wendy,

You are a master ! so simple and so efficiently working !!!!

On the example I sent it works perfectly, but it bugs on my big script...I am trying to find out why...

 

On the 2nd item, indeed it is a design choice...And to be frank, I was forced to that way because I do not know another way...Ideally, I need to add the graph only once I have the data table loaded. But I do not know how to add a graph to a Window dynamically (not from the start).

Do you know how to do that ?

 

Thanks.

Wendy_Murphrey

Joined:

Jun 23, 2011

Solution

In your New Window, you can add a DisplayBox that the graph is appended to.  For example, the following includes a VlistBox() for appending he Variability Chart.

MyWindow = New Window( "Window Controls",
	vl = V List Box(
		Panel Box( "1/ Start...", 
			g3 = Button Box( "Process Data...", 
				dt = Open( DataPath );
				vl << Append( dt << Variability Chart(/*<options>*/))
			)
		)
	)
);
Wendy
samir

Community Trekker

Joined:

May 20, 2016

Wendy,

Your solution is perfect:

  1. My scripts will be much simplified since I remove several lines that are poluting the script just to initialyze the variables/columns needed to have the initial graph.
  2. I can add several graphs in one window !!!! which was what I planned initially.

Really thanks !!!

samir

Community Trekker

Joined:

May 20, 2016

 
samir

Community Trekker

Joined:

May 20, 2016

Hi Wendy,

I applied your solution and it is perfect...

I face another different problem : I want to generate several graphs on one window, so I try to pass the column name as a variable, but it does not work.

Attached is a Data table that serves as an example.

The script in it generates (as a trial) 3 identical graphs embedded in a window. they show the data of the culumn "length [cm]" that I passed as such.

But now, I create a list of the columns I want to plot: Param = {"thickness [um]", "length [cm]", "Time [sec]"};

I tried to generate a graph for each by using :

gr = Variability Chart(
       Y( :Name( Param[i] ) ),
       X( :Operator, :Wafer ), ...

);

 

but is not accepted by the compiler...

Any idea to solve it ?

 

Thanks a lot.

ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

Try:

 

gr = Variability Chart(
       Y( Eval( Param[i] ) ),
       X( :Operator, :Wafer ), ...
);
samir

Community Trekker

Joined:

May 20, 2016

Thanks Jan !!!

I tried Eval, but inside Name(...) and it did not work...

 

Like you proposed, it works perfectly !

Thanks a lot.