You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在PROC KDE绘图中指定坐标轴范围?附SGPLOT美化疑问

关于SAS PROC KDE与SGPLOT的两个问题
  1. 能否直接在PROC KDE过程中指定坐标轴范围,无需后续用SGPLOT二次调整?示例代码如下:
proc kde data=have; 
    bivar y / plots=contour; 
    by z; 
run;
  1. PROC KDE生成的等高线图效果出色,但坐标轴刻度不符合需求;若用PROC KDE输出的数据在SGPLOT中绘图,虽能调整坐标轴,但绘图效果远不如PROC KDE生成的图。请问如何让SGPLOT生成的图与PROC KDE的效果一致?

PROC KDE生成的图:
PROC KDE生成的等高线图

SGPLOT生成的图:
SGPLOT生成的效果较差的图


问题1:PROC KDE中直接指定坐标轴范围

PROC KDE本身没有直接设置坐标轴范围的参数,但可通过修改图形模板实现,无需二次调用SGPLOT:

  • 先导出PROC KDE对应的双变量等高线绘图模板:
proc template;
    source Stat.KDensity.Graphics.BiContour;
run;
  • 复制导出的模板代码,修改LayoutOverlay部分的xaxisopts和yaxisopts,添加min=和max=参数指定坐标轴范围,示例修改后的模板:
proc template;
    define statgraph Stat.KDensity.Graphics.BiContour;
        begingraph;
            entrytitle "Bivariate Kernel Density Estimate";
            layout overlay / xaxisopts=(min=0 max=10 label='X变量') yaxisopts=(min=-5 max=5 label='Y变量')
                             walldisplay=opaque;
                contourplotparm x=X y=Y z=Density / contourtype=fill colormodel=twocolorramp
                                                     name='contour' legendlabel='Density';
                continuouslegend 'contour' / location=inside position=topright across=1;
            endlayout;
        endgraph;
    end;
run;
  • 重新调用PROC KDE,生成的图会使用修改后的模板,坐标轴范围已按需求调整。

问题2:用SGPLOT复刻PROC KDE的绘图效果

要让SGPLOT达到PROC KDE的效果,需利用PROC KDE输出的核密度估计数据,并使用匹配的绘图语句:

  1. 让PROC KDE输出核密度估计的详细数据:
proc kde data=have; 
    bivar x y / out=biv_kd outkernel; /* outkernel输出核密度估计值 */
    by z; 
run;
  1. 使用SGPLOT的CONTOURPLOTPARM语句绘制填充等高线,搭配与PROC KDE一致的配色和图层设置:
proc sgplot data=biv_kd;
    contourplotparm x=x y=y z=density / contourtype=fill colormodel=twocolorramp 
                                         name='contour' legendlabel='Density';
    continuouslegend 'contour' / location=inside position=topright across=1;
    /* 按需设置坐标轴范围 */
    xaxis min=0 max=10;
    yaxis min=-5 max=5;
run;
  • 关键细节:contourtype=fill对应PROC KDE的填充等高线效果,colormodel=twocolorramp匹配PROC KDE默认配色,通过continuouslegend添加密度图例,还原原图的视觉层次。

内容的提问来源于stack exchange,提问作者pakalla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:05:21