楼主: zwnSAS121
2486 0

[程序分享] 解决实际问题之画热力图 [推广有奖]

  • 6关注
  • 2粉丝

博士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
294 个
通用积分
2.0010
学术水平
13 点
热心指数
16 点
信用等级
13 点
经验
2473 点
帖子
112
精华
0
在线时间
330 小时
注册时间
2015-12-18
最后登录
2020-8-29

楼主
zwnSAS121 发表于 2017-2-25 20:48:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. /*自定义标签*/
  2. proc format;
  3. value pdb
  4. 1="1W2X"
  5. 2="3H0J"
  6. 3="3H0Q"
  7. 4="3TV5"
  8. 5="3TVU"
  9. 6="3TVW"
  10. 7="3TZ3"
  11. 8="4WYO"
  12. 9="4WZ8"
  13. 10="5CTB"
  14. 11="5CTC"
  15. 12="5CTE";

  16. data rmsd1;
  17. format RowLab pdb.;
  18. format ColLab pdb.;
  19. do RowLab=1 to 12;
  20. do ColLab=1 to 12;
  21. input Value @@;
  22. output;
  23. end;
  24. end;
  25. cards;
  26. 0        0.224        0.25        0.226        0.236        0.248        0.267        0.407        0.418        0.239        0.27        0.363
  27. 0.224        0        0.246        0.23        0.242        0.225        0.303        0.442        0.459        0.245        0.257        0.41
  28. 0.25        0.246        0        0.305        0.275        0.242        0.324        0.394        0.386        0.262        0.289        0.378
  29. 0.226        0.23        0.305        0        0.145        0.129        0.216        0.398        0.41        0.149        0.162        0.331
  30. 0.236        0.242        0.275        0.145        0        0.137        0.194        0.324        0.306        0.127        0.137        0.301
  31. 0.248        0.225        0.242        0.129        0.137        0        0.224        0.34        0.326        0.122        0.137        0.301
  32. 0.267        0.303        0.324        0.216        0.194        0.224        0        0.39        0.392        0.214        0.257        0.345
  33. 0.407        0.442        0.394        0.398        0.324        0.34        0.39        0        0.132        0.351        0.309        0.205
  34. 0.418        0.459        0.386        0.41        0.306        0.326        0.392        0.132        0        0.328        0.294        0.181
  35. 0.239        0.245        0.262        0.149        0.127        0.122        0.214        0.351        0.328        0        0.14        0.296
  36. 0.27        0.257        0.289        0.162        0.137        0.137        0.257        0.309        0.294        0.14        0        0.273
  37. 0.363        0.41        0.378        0.331        0.273        0.301        0.345        0.205        0.181        0.296        0.273        0
  38. ;
  39. run;

  40. data rmsd2;
  41.    if _n_ = 1 then /* Scale matrix size by the number or rows/columns */
  42.    call symputx('size',ceil(18 * sqrt(n)));   
  43.    set rmsd1 nobs=n;
  44.    Outline = ifn(Value > 1, Value, .); /* Outline the nonmissing values (Value > 1) */
  45.    output;
  46. run;

  47. proc print data=rmsd2(obs=13);
  48. id RowLab ColLab;
  49. run;

  50. %put &size;

  51. proc template;
  52.    define statgraph matrix;
  53.       begingraph / designheight=%eval(250+&size) /* Size: a bit higher than wider */
  54.                    designwidth =%eval(200+&size);
  55.          entrytitle "RMSD Matrix";
  56.          layout overlay / yaxisopts=(discreteopts=(tickvaluefitpolicy=none)
  57.                                      display=(tickvalues) reverse=true)
  58.                           xaxisopts=(discreteopts=(tickvaluefitpolicy=rotate)
  59.                                      display=(tickvalues));
  60.             * Heat map provides the background color for each cell;
  61.             heatmapparm y=RowLab x=ColLab colorresponse=Value /
  62.                ColorModel=(GraphWalls:color ThreeColorRamp:StartColor);
  63.             * Heat map provides the outlines;
  64.             heatmapparm y=RowLab x=ColLab colorresponse=Outline /
  65.                ColorModel=(GraphWalls:Color ThreeColorRamp:StartColor)
  66.                display=all includemissingcolor=false fillattrs=(transparency=1)
  67.                outlineattrs=graphdata2(thickness=1);
  68.             * Textplot provides the values;
  69.             textplot y=RowLab x=ColLab text=eval(put(Value,5.3)) /
  70.                      textattrs=(size=12px) position=center;
  71.          endlayout;
  72.       endgraph;
  73.    end;
  74. run;

  75. proc sgrender data=rmsd2 template=matrix;
  76. run;
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:标签

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 17:06