0

SAS のプロット エンジンは単純ではないと思います。誰かがそれについて私を助けてくれることを願っています:

4 つの異なる株式のオーダーブックの出来高をプロットしたいと考えています。しかし、それは奇妙な点を描くだけです。次のサンプル データセットがあります。

株式 AskVolume1 AskVolume2 AskVolume3 BidVolume1 BidVolume2 BidVolume3 AskScaledPrice1 AskScaledPrice2 AskScaledPrice3 BidScaledPrice1 BidScaledPrice2 BidScaledPrice3

ストックA 1 2 3 1 2 3 -9.7 -9.8 -9.9 9.7 9.8 9.9

ストックB 2 4 6 2 4 6 -9.6 -9.7 -9.9 9.5 9.6 9.8

StockCなど...

横軸は価格を示し、中間点は 10 です。出来高は縦軸にある必要があります (グラフは最終的に V 字のように見える必要があり、1 つの株に 1 つの V 字型のグラフが表示されます)。

私が持っている、動作しないコードは次のとおりです。

goptions reset=all noborder ctext=CX000000 htext=20 pt 
colors=(CX0000FF CXFF0000 CX008080 CX00FF00 CXFF00FF CXFFFF00 CX00FFFF CX800000 CX008000 
        CX800080 CX000080 CX808000 CXFFFFFF CX808080 CXC0C0C0 CX000000);
ods _all_ close; ods listing device=png ;
filename myfile "&DIRECTORY.\output.png"; 
title1 justify=center color=CX000000 height=14 pt "OrderBook Shapes"; 


  /* set the graphics environment */
goptions reset=global gunit=pct border
         ftext=swissb htitle=6 htext=3;
   /* set the graphics device */
goptions device=ps300 rotate=landscape ;
   /* define titles and footnotes */
title1 'OrderBooks';
   /* define symbol characteristics */
symbol1 color=black interpol=join value=dot height=2;
symbol2 color=black interpol=join value=diamond height=3;
   /* generate two plots */
proc gplot data=plot2;
   plot 
BidVolume1*Price1=stock BidVolume2*price2=stock (....etc)

    AskVolume1*Price1=stock AskVolume2*price2=stock (....etc)
/ overlay;
run;

ご意見ありがとうございます。

4

1 に答える 1

1

問題は、オーバーレイ オプションで y*x=z プロットを使用しようとしていることです。ドキュメントページによると、これはサポートされていません: http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#gplot-plot.htm

OVERLAY は、y-variable*x-variable= third-variable の形式のプロット リクエストでは有効になりません。

代わりに、オーバーレイ オプションを使用せずに、在庫と入札/出来高 (1 ~ 3) を単一のカテゴリ変数に連結し、それを z 変数として使用することをお勧めします。

proc gplot は非常に古く、十分に文書化されていないため、SAS のバージョンがそれをサポートしている場合は、代わりに proc sgplot の使用を検討することもできます。

于 2016-09-11T13:34:13.947 に答える