我有一个包含所有最小值和最大值的数据。 我如何在图形生成器中绘制每个变量的范围。 我希望我的输出如附图所示。 以下是示例数据。
| 学校 | 主题 | 分钟(小时) | 最大(小时) | 最少(学生) | 最大(学生) |
| A | 物理 | 3 | 8 | 30 | 55 |
| A | 化学 | 2 | 9 | 34 | 52 |
| A | 数学 | 5 | 7 | 32 | 53 |
| 乙 | 物理 | 2 | 8 | 30 | 60 |
| 乙 | 化学 | 4 | 8 | 30 | 65 |
| 乙 | 数学 | 6 | 8 | 31 | 63 |

如果您可以分享程序或 JSL 脚本,那将会有很大的帮助。
谢谢
你好@拉贾特,
作为@马克贝利建议,《图形基础》一书是一本很好的读物,它将更详细地解释这个图和其他图。 但是,我发现您的图中存在两个复杂性,可能需要一些额外的工作,即您想要一个带有步骤而不是多边形填充的范围区域图,并且您想要一个可操作的列切换器来切换一对变量。 以下是我的处理方法。
首先,对于基本绘图,您可以使用具有 Range 样式的 Bar 元素来完成此操作。 看起来是这样的:

这是显示步骤的视频:
和 JSL,也保存到附表中:
Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Graph Spacing( 10 ),
Variables(
X( :Subject ),
Y( :Name( "Min(Hours)" ) ),
Y( :Name( "Max(Hours)" ), Position( 1 ) ),
Group X( :School )
),
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Bar Style( "Range" ) ) ),
SendToReport(
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Min and Max Hours by Subject and School" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Hours" )} ),
Dispatch( {}, "Graph Builder", FrameBox, {DispatchSeg( BarSeg( 1 ), Set Width Proportion( 1 ) )} ),
Dispatch( {}, "Graph Builder", FrameBox( 2 ), {DispatchSeg( BarSeg( 1 ), Set Width Proportion( 1 ) )} )
)
);
但是,您会注意到,如果您尝试添加列切换器,您可以选择仅切换一个变量,但在您的情况下,您需要切换两个变量,因为这就是定义您的范围的变量。 您可以添加两个列切换器,但我倾向于不喜欢这种方法,因为它最终看起来像这样,您需要切换两个单独的项目: 
您可以使用类似于列切换器的单个操作来制作此图,但需要通过“表”>“堆栈”对表进行一些重组。 设置方法如下:

这将为您提供下表,您会注意到该表已采用代表不同结果变量的成对列并将它们堆叠在一起(您会看到我必须在此处使用多个系列堆栈,系列是定义变量的一组列的术语):
现在我们有了该表,我们可以像以前一样生成绘图(对您使用的列进行适当的更改,因为它们现在的命名不同),然后,不调用列切换器,而是调用本地数据过滤器,并且选择变量 1 或变量 2 列(它们是相同的)。 现在,当您过滤以仅显示该变量的一个级别时,您仅显示一对结果变量,从而在“小时”和“学生”之间进行切换:

我希望这有帮助
@朱利安
此基本图表类型是 JMP 指南中介绍的众多图表类型之一。 请参阅“帮助”>“书籍”>“基本绘图”。