<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想用连接一些城市的线条创建美国地图。这适用于供应链应用程序,因此理想情况下,行的宽度将与每组点之间的销售额成比例。一旦我有线,我可以添加美国作为背景地图。我应该使用哪个图形函数?
Line()函数在例如图形中绘制一条线,并且可以是图形脚本的一部分。要迭代地添加许多行,最安全的方法是使用图形脚本的字符串表示并在每次迭代中解析它。下面的JSL示例可能会给你一些想法。
//四个城市之间销售的示例表及其坐标。
DT = 新表 ( “LinesBetweenCities.jmp” ,
添加行 ( 10 ) ,
新栏目 ( “市” ,
字符 ,
设定值 (
{ “克利夫兰,俄亥俄州” , “克利夫兰,俄亥俄州” , “克利夫兰,俄亥俄州” , “克利夫兰,俄亥俄州” , “得梅因,爱荷华州” , “得梅因,爱荷华州” , “得梅因,爱荷华州” ,
“洛杉矶,加利福尼亚州。” , “洛杉矶,加利福尼亚州。” , “阿拉巴马州蒙哥马利。” }
)
) ,
新栏目 ( “N” ,数字 ,格式 ( “最好” , 12 ) ,设定值 ( [ 41.467 , 41.467 , 41.467 , 41.467 , 41.583 , 41.583 , 41.583 , 34.05 , 34.05 , 32.35 ] ) ) ,
新栏目 ( “W” ,
数字 ,
格式 ( “最好” , 12 ) ,
设定值 ( [ - 81.617 , - 81.617 , - 81.617 , - 81.617 , - 93.617 , - 93.617 , - 93.617 , - 118.25 , - 118.25 , - 86.3 ] )
) ,
新栏目 ( “销售” ,数字 ,连续 ,格式 ( “最好” , 12 ) ,式 ( 回合 ( 随机统一 () , 2 ) ) ) ,
新栏目 ( “随着” ,
字符 ,
公称 ,
设定值 (
{ “克利夫兰,俄亥俄州” , “得梅因,爱荷华州” , “洛杉矶,加利福尼亚州。” , “阿拉巴马州蒙哥马利。” , “得梅因,爱荷华州” , “洛杉矶,加利福尼亚州。” ,
“阿拉巴马州蒙哥马利。” , “洛杉矶,加利福尼亚州。” , “阿拉巴马州蒙哥马利。” , “阿拉巴马州蒙哥马利。” }
)
) ,
设置行状态 ( [ 8 , 0 , 0 , 0 , 8 , 0 , 0 , 8 , 0 , 8 ] ) ,
设置标签列 ( : 市 )
) ;
GB = 图形生成器 (
变量 ( X ( : w ^ ) , ÿ ( : ñ ) ) ,
分子 ( 点 ( X , ÿ ,传说 ( 1 ) ) ) ,
SendToReport (
调度 (
{} ,
“图形生成器” ,
FrameBox ,
{ 背景地图 ( 边界 ( “美国” ) ) ,标记大小 ( 6 ) ,网格线顺序 ( 2 ) ,参考线订单 ( 3 ) ,
DispatchSeg (
ShapeSeg ( 1 ) ,
{ 线条颜色 ( { 204 , 204 , 204 } ) ,填色 ( “没有” ) ,缺少形状填充 ( 2147483647 ) ,缺少值填充 ( - 14540253 )}
)}
)
)
) ;
FB = 报告 ( GB ) FrameBox ( 1 )] ;
//绘制线条的脚本的字符串表示形式
line_string =
“fb <<添加图形脚本(3,笔颜色({。3,.5,.7});
笔大小(^圆(10 *:销售额 ,0)^);
线({^:W ^,^:N ^},{^:W [coord] ^,^:N [coord] ^})
)” ;
//添加在每对城市之间绘制线条的图形脚本。笔的大小取决于销售额。
对于 ( 一世 = 1 ,一世 <= N行 ( DT ) ,一世 ++,
坐标 = ( DT << getrows在哪里 ( : 同 [ 一世 ] == : 市 ))[ 1 ] ; //在With列中获取城市的坐标
EVAL ( 解析 ( 评估插入 ( line_string ) ) ) ; //评估line_str中的变量并将文本解析为工作jsl
) ;
有什么方法可以在JMP中做到吗?我无法访问SAS。