问题标签 [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.
sas - 删除条形图上重叠的 X 轴标签
由于没有使用注释,我一直无法找到一种合理的方法来防止barchartparm
在 SAS 中使用 a 时我的 x 轴标签重叠。从文档中,他们明确指出条形图使用离散轴,并且不允许使用其他轴类型(例如时间)。尽管从概念上讲这是有道理的,但强制执行似乎是“不必要的”限制,因为它无法控制 x 轴标签,因为每个离散标签都将被打印。
样本数据:
定义图表模板:
创建图表:
结果:
我试着用胶带把它粘起来,并为 x 轴创建一个自定义格式,它会“删除”许多值,虽然图表是制作的,但它将所有的空白堆叠在一起(??)并且还制作了一个警告。
我也尝试过使用备用x2axisopts
并将轴设置为次要但没有运气。
如果我使用系列图表,我将能够很好地控制轴,但在我的情况下,数据更容易解释为条形图。也许他们需要xaxisopts
为条形图添加额外的选项。
这里最令人沮丧的是,这是你可以在 2 秒内在 excel 中完成的事情,在我看来,这将是 excel 中非常常见的图表,在 SAS 中不容易重现!
编辑:我也不想使用proc gchart
.
templates - 向 SAS 热图添加参考线
我正在通过 SAS 制作热图。我想将参考参考线(水平和垂直)添加到将其分成象限的热图中。我的代码现在看起来像这样:
这绘制了 X 和 Y 变量的热图,但我想添加交叉线来标记图表的中间。谢谢!!
sas - PROC TEMPLATE 中的 textattrs 选项使用自定义类而不是 GraphValueText?
使用 SAS 9.3 并尝试通过定义自定义样式并将其与整个 PROC TEMPLATE 的 statgraph 块中的多个 ENTRY 语句一起使用来遵守DRY 。
自定义样式:
然后由 ODS 语句中的 style= 选项打开。我尝试使用 foo:
但得到日志消息:
注意:选项 TEXTATTRS 中的样式元素 'foo' 无效。将使用默认值。
当使用这样的定义设置 TEXTATTRS 时,它工作正常(但由于我多次使用它,它不会是 DRY):
另外,我知道 ODS 正在阅读样式定义,因为如果我这样做:
并更改字体,它会影响图表。
sas - 如何禁用 PROC TEMPLATE 的 STATGRAPH 块中的轴标签?
假设一个 SAS/GRAPH® GTL“DEFINE STATGRAPH”块有一个“LAYOUT OVERLAY”块,它产生一个如下所示的图表:
如何调整模板以删除标签“mm_yyyymm”?我在SERIESPLOT下没有看到任何会禁用标签的选项。
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。)
感谢您指出正确的方法或建议解决方法。
我已经看到的代表性讨论:
SOD:使用块图显示轴对齐值
GS:带有轴对齐统计表的图表
第一个情节的代码:
graph - SAS 9.3(Windows)生存图中的管道(|)符号
在 SAS 9.3(Windows 平台)中绘制生存图时,我想使用 GTL 或 PROC SGPLOT。我可以使用注解和 PROC GPLOT 完成工作,但需要制作一个我可以根据需要灵活使用的模板。因此,我使用 proc 模板来创建模板。我被困在某一点上,需要指导。
在使用 PROC GPLOT 时,我使用所需符号的注释“|” 如下:
我尝试了很多搜索,但无法在 proc 模板(GTL)中找到此语句的替换。我想要“|” 作为生存图中删失观察的符号。此外,相同的符号应在图例中显示为“| | | Censored Observations”。
我试过使用以下模板,但没有运气!
跑;
我还尝试通过创建一个包含所需符号的标志变量来使用“markerchar = flag”选项,通过它我确实在图中获得了符号(没有任何将符号设为粗体的灵活性),但没有运气获得根据需要在图例中添加符号。
请让我知道如何获得'|' 动态地,在情节和图例中也是如此。让我知道是否需要我的任何进一步细节。
提前致谢!
sas - 使用 GTL 在系列图表上显示标记
我正在尝试使用图形模板语言让标记显示在我的图表上。我尝试将标记定义添加到样式中,添加到markerattrs=
选项语句中的 seriesplot 语句中,并且还对图表组使用离散属性映射。我似乎无法使这些方法中的任何一种起作用。
风格定义:
图表模板:
使用数据集渲染图表sashelp.stocks
:
sas - proc模板颜色黄土按组
我正在尝试按组设置 proc 模板生成的线条的颜色。
我的数据有以下列:
天数 - 事件发生后的天数(x 轴)
测量 - 用于黄土曲线的数据点(y 轴)
MarkerColor - 我想用于线条的颜色
groupnm - 区分组以生成每一行
sql - 如何在 SAS 中将十六进制转换为十进制?
我有: 每4个位置一个十六进制值的字符串
00F701C101C900EC01E001D2
我需要:
将这些值从 4 中的 4 个位置分开,并以这种方式转换为十进制数:
247、449、457、480、466
我的列最多可以有 1200 个十六进制位置
你能帮助我吗?
咳咳!!!
sas - 是否有一种格式可以隐藏 SAS 中数字的负号?
我需要将负数显示为正数(即只是隐藏负号)
为此,我目前正在使用这种格式
但问题是,在 gtl 图中,我将在轴上有 2 个十进制值。我无法将轴刻度值的格式更改回无小数。
由于我的数字范围从 -6 到 0,而且它们都不是完全整数,所以我想出了这样的东西,但它完全不优雅,更像是一种 hack 而不是解决方案。
有没有更好的办法?
编辑:
更多信息:我故意将我的值反转为负数,以将它们绘制为 barchartparm (sas GTL) 上的倒置条。