问题标签 [sas-gtl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
831 浏览

sas - 删除条形图上重叠的 X 轴标签

由于没有使用注释,我一直无法找到一种合理的方法来防止barchartparm在 SAS 中使用 a 时我的 x 轴标签重叠。从文档中,他们明确指出条形图使用离散轴,并且不允许使用其他轴类型(例如时间)。尽管从概念上讲这是有道理的,但强制执行似乎是“不必要的”限制,因为它无法控制 x 轴标签,因为每个离散标签都将被打印。

样本数据:

定义图表模板:

创建图表:

结果:

结果

我试着用胶带把它粘起来,并为 x 轴创建一个自定义格式,它会“删除”许多值,虽然图表是制作的,但它将所有的空白堆叠在一起(??)并且还制作了一个警告。

我也尝试过使用备用x2axisopts并将轴设置为次要但没有运气。

如果我使用系列图表,我将能够很好地控制轴,但在我的情况下,数据更容易解释为条形图。也许他们需要xaxisopts为条形图添加额外的选项。

这里最令人沮丧的是,这是你可以在 2 秒内在 excel 中完成的事情,在我看来,这将是 excel 中非常常见的图表,在 SAS 中不容易重现!

编辑:我也不想使用proc gchart.

0 投票
1 回答
415 浏览

templates - 向 SAS 热图添加参考线

我正在通过 SAS 制作热图。我想将参考参考线(水平和垂直)添加到将其分成象限的热图中。我的代码现在看起来像这样:

这绘制了 X 和 Y 变量的热图,但我想添加交叉线来标记图表的中间。谢谢!!

0 投票
1 回答
306 浏览

sas - PROC TEMPLATE 中的 textattrs 选项使用自定义类而不是 GraphValueText?

使用 SAS 9.3 并尝试通过定义自定义样式并将其与整个 PROC TEMPLATE 的 statgraph 块中的多个 ENTRY 语句一起使用来遵守DRY 。

自定义样式:

然后由 ODS 语句中的 style= 选项打开。我尝试使用 foo:

但得到日志消息:

注意:选项 TEXTATTRS 中的样式元素 'foo' 无效。将使用默认值。

当使用这样的定义设置 TEXTATTRS 时,它工作正常(但由于我多次使用它,它不会是 DRY):

另外,我知道 ODS 正在阅读样式定义,因为如果我这样做:

并更改字体,它会影响图表。

0 投票
1 回答
1689 浏览

sas - 如何禁用 PROC TEMPLATE 的 STATGRAPH 块中的轴标签?

假设一个 SAS/GRAPH® GTL“DEFINE STATGRAPH”块有一个“LAYOUT OVERLAY”块,它产生一个如下所示的图表:

带有 x 轴标签的 SAS/GRAPH

如何调整模板以删除标签“mm_yyyymm”?我在SERIESPLOT下没有看到任何会禁用标签的选项。

0 投票
1 回答
1734 浏览

sas - 分组和块的箱线图,具有轴对齐的统计信息

我一直在为按组和时间点块的箱线图构建 GTL 模板。我怀疑 SAS 9.4(TS Level 1M2)中的 GTL 还不完全支持这种多维、轴对齐的 BOXPLOT 和 BLOCKPLOT 组合。

  • 如果我错了,我会很感激有关正确方法的建议。
  • 如果我是对的,我欢迎关于或多或少直接 GTL 解决方法的建议。

下面的代码产生了第一个情节,但我真的想要第二个情节。换句话说,我希望 BLOCKPLOT 支持与 BOXPLOT(时间点和治疗组)相同的两个 x 轴水平。但是,BLOCKPLOT 只会在 X 轴(时间点)内叠加 CLASS(治疗组)。但是 BOXPLOT 将在块内沿 X 轴分隔 GROUP。

我找不到任何方法可以从 BLOCKPLOT 的“堆栈”方法切换到像 BOXPLOT 这样的“集群”方法。(我也尝试过 AXISTABLE,但它们的行为类似于 BLOCKPLOT。)

感谢您指出正确的方法或建议解决方法。

我已经看到的代表性讨论:

从 9.4 (TS1M2) 代码绘制,如下: 从 9.4 (TS1M2) 代码绘制,如下

我想编码的明显操纵的情节: 我想从 GTL 明显操纵的情节

第一个情节的代码:

0 投票
0 回答
109 浏览

graph - SAS 9.3(Windows)生存图中的管道(|)符号

在 SAS 9.3(Windows 平台)中绘制生存图时,我想使用 GTL 或 PROC SGPLOT。我可以使用注解和 PROC GPLOT 完成工作,但需要制作一个我可以根据需要灵活使用的模板。因此,我使用 proc 模板来创建模板。我被困在某一点上,需要指导。

在使用 PROC GPLOT 时,我使用所需符号的注释“|” 如下:

我尝试了很多搜索,但无法在 proc 模板(GTL)中找到此语句的替换。我想要“|” 作为生存图中删失观察的符号。此外,相同的符号应在图例中显示为“| | | Censored Observations”。

我试过使用以下模板,但没有运气!

跑;

我还尝试通过创建一个包含所需符号的标志变量来使用“markerchar = flag”选项,通过它我确实在图中获得了符号(没有任何将符号设为粗体的灵活性),但没有运气获得根据需要在图例中添加符号。

请让我知道如何获得'|' 动态地,在情节和图例中也是如此。让我知道是否需要我的任何进一步细节。

提前致谢!

0 投票
2 回答
672 浏览

sas - 使用 GTL 在系列图表上显示标记

我正在尝试使用图形模板语言让标记显示在我的图表上。我尝试将标记定义添加到样式中,添加到markerattrs=选项语句中的 seriesplot 语句中,并且还对图表组使用离散属性映射。我似乎无法使这些方法中的任何一种起作用。

风格定义:

图表模板:

使用数据集渲染图表sashelp.stocks

0 投票
0 回答
101 浏览

sas - proc模板颜色黄土按组

我正在尝试按组设置 proc 模板生成的线条的颜色。

我的数据有以下列:

天数 - 事件发生后的天数(x 轴)

测量 - 用于黄土曲线的数据点(y 轴)

MarkerColor - 我想用于线条的颜色

groupnm - 区分组以生成每一行

0 投票
2 回答
2178 浏览

sql - 如何在 SAS 中将十六进制转换为十进制?

我有: 每4个位置一个十六进制值的字符串

00F701C101C900EC01E001D2

我需要:

将这些值从 4 中的 4 个位置分开,并以这种方式转换为十进制数:

247、449、457、480、466

我的列最多可以有 1200 个十六进制位置

你能帮助我吗?

咳咳!!!

0 投票
2 回答
539 浏览

sas - 是否有一种格式可以隐藏 SAS 中数字的负号?

我需要将负数显示为正数(只是隐藏负号)

为此,我目前正在使用这种格式

但问题是,在 gtl 图中,我将在轴上有 2 个十进制值。我无法将轴刻度值的格式更改回无小数。

由于我的数字范围从 -6 到 0,而且它们都不是完全整数,所以我想出了这样的东西,但它完全不优雅,更像是一种 hack 而不是解决方案。

有没有更好的办法?

编辑:
更多信息:我故意将我的值反转为负数,以将它们绘制为 barchartparm (sas GTL) 上的倒置条。