在轴上绘制每个刻度[SAS]

时间:2015-03-08 23:24:56

标签: plot sas

我有数据集包含大约100个观察结果,比如说它们都是(x,y)格式,所有y都是整数格式。我需要proc sgplot来制作关于它们的图形。关于我的y的范围是从1到150.我希望我可以强制图形在y轴上显示每个相应的y值,而不是自动将刻度减少到一个小数字以便清楚地显示它们。例如,如果我y的前五个值是(1,3,4,6,7,....),我希望y刻度显示(1,3,4,6,7,... 。)而不是(1,5,...) 我试过了

yaxis value=(1 to 150 by 1) valueshint display=all;

它不起作用,因为我可能有太多观察。我知道结果可能是压倒性的,但我只想看到结果。谢谢。

1 个答案:

答案 0 :(得分:0)

你没有说你是在使用SAS / GRAPH还是ODS GRAPHICS(SGPLOT等),所以我会回答后者,这就是我所知道的;答案应该对概念都有用。

除非轴本身非常大,否则你可能无法让SAS在轴上绘制如此多的图形。这意味着您有两种选择。

  • 根据像素提高生成的图形大小(然后通过图像物理大小或使用外部工具将其缩小到可用大小)。不一定适用于所有情况,但会产生非常高分辨率的图(尺寸非常大)。 This page解释了如何为ODS图片执行此操作(将image_dpi用作高数字,将widthheight用英寸作为正常数字),并{{3}解释为SAS / GRAPH。您可能需要使字体变小才能使其工作(如果您要添加数字,我认为您是这样),或者您可能需要先制作一个初始大的图,然后进入paint / photoshop / gimp / etc。并使它变小。
  • 使用注释创建轴标记。如果您知道如何使用注释,这是相当容易的,因为您只是写入轴(y)和项目(x)的位置,然后比文本的位置低一些。这将使非常易于制作完整的垃圾情节,但最终可能会有效。

这些可能适用于SAS / GRAPH和ODS GRAPHICS,我也无法测试,因为你没有发布任何代码或模拟数据进行测试,但我认为这两种方法都有一些优点(方法也是如此) “不要这样做”,但你认为通过)。