cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
  • New JMP features coming to desktops everywhere this September. Sign up to learn more at jmp.com/launch.
Choose Language Hide Translation Bar
anandambujaraja
New Member

Increase size of data points in wafer map

nw = New Window("BSS_Wafermap", 
 
	gb = Graph Box(
		framesize(xres, yres),
		X Scale(xmin, xmax),
		Y Scale(ymin, ymax),
		Fill Color("lightgray");
		Pen Color("Blue");
		Circle({0, 0}, 150000, "FILL");
 
		For(i = 1, i <= N Rows(pdt), i++,
			xleft = pdt:left[i];
			xright = pdt:right[i];
			ybottom = pdt:bottom[i];
			ytop = pdt:top[i];
			pcolor = color_list[1];
			If(pdt:defect_images_count[i] > 0,
				Pen Color("red"),
				Pen Color("Black")
			);
			If(pdt:defect_images_count[i] > 0,
				Fill Color("red"),
				Fill Color("Black")
			);
			Rect(xleft, ytop, xright, ybottom, filled_rect);
		);,
		Title(" Lot: " || sdt:lot_id[p] || " Route: " || sdt:route[p])
	), 
);
 
 
The above is my JSL code I want increase the size of the points inside the circle and wnat to highlight the point if they have image attach to them in fdiffrent color. Could you please help me with this
 
Edit (jthi): added JSL formatting
3 REPLIES 3
jthi
Super User

Re: Increase size of data points in wafer map

What issues are you having? Are you getting errors? Sizes of which points? You seem to only have rectangles inside your graph and their size is determined by your data table?

Names Default To Here(1);

pdt = New Table("Untitled",
	Add Rows(2),
	Compress File When Saved(1),
	New Column("left", Numeric, "Continuous", Format("Best", 12), Set Values([10000, 50000])),
	New Column("right", Numeric, "Continuous", Format("Best", 12), Set Values([3000, 70000])),
	New Column("bottom", Numeric, "Continuous", Format("Best", 12), Set Values([10000, 40000])),
	New Column("top", Numeric, "Continuous", Format("Best", 12), Set Values([30000, 50000])),
	New Column("defect_images_count", Numeric, "Continuous", Format("Best", 12), Set Values([0, 1]))
);

xres = 1000;
yres = 1000;
xmin = -150000;
xmax = 150000;
ymin = -150000;
ymax = 150000;

nw = New Window("BSS_Wafermap", 
 
	gb = Graph Box(
		framesize(xres, yres),
		X Scale(xmin, xmax),
		Y Scale(ymin, ymax),
		Fill Color("lightgray");
		Pen Color("Blue");
		Circle({0, 0}, 150000, "FILL");
 
		For(i = 1, i <= N Rows(pdt), i++,
			xleft = pdt:left[i];
			xright = pdt:right[i];
			ybottom = pdt:bottom[i];
			ytop = pdt:top[i];
			If(pdt:defect_images_count[i] > 0,
				Pen Color("red"),
				Pen Color("Black")
			);
			If(pdt:defect_images_count[i] > 0,
				Fill Color("red"),
				Fill Color("Black")
			);
			Rect(xleft, ytop, xright, ybottom, 1);
		);,
		Title("title")
	), 
);

jthi_0-1757518220973.png

 

-Jarmo
anandambujaraja
New Member

Re: Increase size of data points in wafer map

Thanks a million for the clarification. Yes I have created the rectangle as I am not able to increase the size of the data points inside circle. If you could show me a way to plot the data points inside a circle of wafer map and highlight them based on criteria in different color or legend would be a great help. Thansk
jthi
Super User

Re: Increase size of data points in wafer map

If you wish to use Markers something like this is an option

Names Default To Here(1);

pdt = New Table("Untitled",
	Add Rows(2),
	Compress File When Saved(1),
	New Column("x", Numeric, "Continuous", Format("Best", 12), Set Values([10000, 50000])),
	New Column("y", Numeric, "Continuous", Format("Best", 12), Set Values([3000, 70000])),
	New Column("defect_images_count", Numeric, "Continuous", Format("Best", 12), Set Values([0, 1]))
);

xres = 1000;
yres = 1000;
xmin = -150000;
xmax = 150000;
ymin = -150000;
ymax = 150000;

nw = New Window("BSS_Wafermap", 
	gb = Graph Box(
		framesize(xres, yres),
		X Scale(xmin, xmax),
		Y Scale(ymin, ymax),
		Fill Color("lightgray");
		Pen Color("Blue");
		Circle({0, 0}, 150000, "FILL");

		Marker Size(100);
		xx = [];
		yy = [];
		For Each Row(pdt,
			If(:defect_images_count > 0,
				mstate = Color State("Red");
			,
				mstate = Color State("Black");
			);
			xx = Matrix(:x);
			yy = Matrix(:y);
			Marker(mstate, xx, yy);
		);
	)
);

But you could also use circles which might give more flexibility

nw = New Window("BSS_Wafermap", 
	gb = Graph Box(
		framesize(xres, yres),
		X Scale(xmin, xmax),
		Y Scale(ymin, ymax),
		Fill Color("lightgray");
		Pen Color("Blue");
		Circle({0, 0}, 150000, "FILL");

		Marker Size(100);
		xx = [];
		yy = [];
		For Each Row(pdt,
			If(:defect_images_count > 0,
				Fill Color("Red");
				Pen Color("Blue");
			,
				Fill Color("Black");
				Pen Color("Black");
			);
			Circle(Eval List({:x, :y}), 10000, "FILL")
		);
	)
);

And one more option could be to do most of this in graph builder, depending on what you are trying to achieve.

-Jarmo

Recommended Articles