Как произвести вывод .rtf с полными цветами в SAS? - PullRequest
0 голосов
/ 24 мая 2018

Я сделал графику, используя ODS и SGPLOT в SAS, мой код выглядит следующим образом:

ods rtf file="D:\" style=journal bodytitle nogfootnote;
goptions reset=all;
ods graphics / border=off width=18cm height=8cm ;
ods graphics / border=off width=17cm height=8.5cm;

footnote1 "Program: ";

PROC SGPLOT data=data  noautolegend;
...
keylegend / title="Group:";

run;

ods rtf close;

Я использую цвета, но выходной файл .rtf черно-белый, Как я могу сделать его цветным?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

В вашем коде нет ничего, что указывало бы на то, что график должен иметь цвета.Если вы задаете цвета в PROC SGPLOT, они учитываются и переопределяют стиль.СТИЛЬ, который вы выбрали, это журнал, который предназначен для печатных журналов (эоны назад) и не включает цвет по дизайну.

Это показывает разницу, когда первый график получается с цветами, а второй нет и принимает стиль по умолчанию для журнала.

Как отметил другой пользователь, вы можете выбрать другой стиль и получить автоматические цвета, но это цвета шаблона, а не то, что вы выбираете.Существуют различные методы для определения цвета в SGPLOT, подход, использованный здесь, немного излишний, но пример документации так прост в использовании и копировании / вставке.Этот метод обычно используется для обеспечения того, чтобы элементы отображались одинаково на нескольких графиках, даже если возможно пропущены значения, потому что SAS циклически изменяет цвета независимо от групп / пропусков.

data fruit_sales;
input Fruit $ Sales;
datalines;
Apples   40
Pears    25
Oranges  50
Grapes   30
Bananas  60
run;

data attrmapfruit;
retain linecolor "black";
input id $ value $ fillcolor $;
datalines;
fruit Apples  red
fruit Pears   green
fruit Oranges orange
fruit Grapes  purple
fruit Bananas yellow
;
run;


ods rtf file='/folders/myfolders/demo.rtf' style=journal;

title  "Fruit Sales V01 - color";
proc sgplot data=fruit_sales dattrmap=attrmapfruit;
vbar Fruit / response=Sales group=Fruit attrid=fruit;
run;
title;

title  "Fruit Sales V02 - no formats";
proc sgplot data=fruit_sales;
vbar Fruit / response=Sales group=Fruit ;
run;
title;

ods rtf close;
0 голосов
/ 24 мая 2018

Определения цвета в стиле journal представлены в оттенках серого.

Используйте другой стиль. STYLE = RTF , вероятно, в порядке.

filename myrtf "%sysfunc(pathname(work))\workers.rtf";

ods rtf file=myrtf style=rtf bodytitle nogfootnote;
goptions reset=all;
ods graphics / border=off width=18cm height=8cm ;
ods graphics / border=off width=17cm height=8.5cm;

footnote1 "Program: ";

PROC SGPLOT data=sashelp.workers  noautolegend;
  series x=date y=electric;
  series x=date y=masonry;
run;

ods rtf close;

Вы можете просматривать источники стилей:

  • Интерактивно
    • щелкните правой кнопкой мыши на корне результатовдерево → Шаблоны → Sashelp.TmplMst → Стили → Журнал
  • Программно

    proc template;
      source styles.journal;
    run;
    

В журнале будут отображаться все графические цветаопределения

define style Styles.Journal;
   parent = styles.default;
   . . .    
   class GraphColors /
      'goffill' = cx666666
      'gofill' = cxf6f6f6
      'govbline' = cx848b93
      'gobline' = cx848b93
      'gncdata12' = cx000000
      'gncdata11' = cx000000
      'gncdata10' = cx000000
      'gncdata9' = cx000000
      'gncdata8' = cx000000
      'gncdata7' = cx000000
      'gncdata6' = cx000000
      'gncdata5' = cx000000
      'gncdata4' = cx000000
      'gncdata3' = cx000000
      'gncdata2' = cx000000
      'gncdata1' = cx000000
      'gncdata' = cx000000
      'gndata12' = cx8F8F8F
      'gndata11' = cxF1F1F1
      'gndata10' = cxABABAB
      'gndata9' = cxBDBDBD
      'gndata8' = cxCFCFCF
      'gndata7' = cxD9D9D9
      'gndata6' = cx989898
      'gndata5' = cxE9E9E9
      'gndata4' = cxA1A1A1
      'gndata3' = cxB4B4B4
      'gndata2' = cxC6C6C6
      'gndata1' = cxE2E2E2
      'gndata' = cxE2E2E2
      'gnclink' = cx969696
      'gnlink' = cxC4C4C4
      'gntext' = cx111111
      'gblockheader' = cxd4d4d4
      'gcphasebox' = cx000000
      'gphasebox' = cxBBBBBB
      'gczonec' = cxC9C9C9
      'gzonec' = cxD8D8D8
      'gczoneb' = cxD8D8D8
      'gzoneb' = cxE1E1E1
      'gzonea' = cxEBEBEB
      'gcunder' = cxCCCCCC
      'gunder' = cxCCCCCC
      'gcover' = cxF1F1F1
      'gover' = cxF1F1F1
      'gcfinal' = cx777777
      'gfinal' = cx777777
      'gcinitial' = cx222222
      'ginitial' = cx222222
      'gcother' = cxF1F1F1
      'gother' = cxF1F1F1
      'gcmiss' = cx545454
      'gmiss' = cx000000
      'gablock' = cxE0E0E0
      'gblock' = cxF2F2F2
      'gcclipping' = cx000000
      'gclipping' = cxD2D2D2
      'gcstars' = cx000000
      'gstars' = cxD2D2D2
      'gcruntest' = cxA3A3A3
      'gruntest' = cxDDDDDD
      'gccontrollim' = cxC2C2C2
      'gcontrollim' = cxF0F0F0
      'gcerror' = cx000000
      'gerror' = cxA0A0A0
      'gcpredictlim' = cx000000
      'gpredictlim' = cxC8C8C8
      'gcpredict' = cx000000
      'gpredict' = cx000000
      'gcconfidence2' = cx000000
      'gcconfidence' = cx000000
      'gconfidence2' = cxA8A8A8
      'gconfidence' = cxC8C8C8
      'gcfit2' = cx000000
      'gcfit' = cx000000
      'gfit2' = cx000000
      'gfit' = cx000000
      'gcoutlier' = cx000000
      'goutlier' = cxA0A0A0
      'gcdata' = cx000000
      'gdata' = cxD2D2D2
      'ginsetheader' = colors('docbg')
      'ginset' = cxFFFFFF
      'greferencelines' = cx808080
      'gheader' = colors('docbg')
      'gramp3cend' = cx5F5F5F
      'gramp3cneutral' = cxA7A7A7
      'gramp3cstart' = cxF0F0F0
      'gramp2cend' = cx5F5F5F
      'gramp2cstart' = cxF0F0F0
      'gconramp3cend' = cx000000
      'gconramp3cneutral' = cx777777
      'gconramp3cstart' = cxC4C4C4
      'gconramp2cend' = cx5F5F5F
      'gconramp2cstart' = cxF0F0F0
      'gtext' = cx000000
      'glabel' = cx000000
      'gborderlines' = cx000000
      'goutlines' = cx000000
      'gmgrid' = cxF2F2F2
      'ggrid' = cxECECEC
      'gaxis' = cx000000
      'gshadow' = cx000000
      'glegend' = cxFFFFFF
      'gfloor' = cxCCCCCC
      'gwalls' = cxFFFFFF
      'gckran5' = cx000000
      'gkran5' = cxe1e1e1
      'gckran4' = cx000000
      'gkran4' = cxbfbfbf
      'gckran3' = cx000000
      'gkran3' = cx828282
      'gckran2' = cx000000
      'gkran2' = cx454545
      'gckran1' = cx000000
      'gkran1' = cx080808
      'gcdata12' = cx000000
      'gcdata11' = cx000000
      'gcdata10' = cx000000
      'gcdata9' = cx000000
      'gcdata8' = cx000000
      'gcdata7' = cx000000
      'gcdata6' = cx000000
      'gcdata5' = cx000000
      'gcdata4' = cx000000
      'gcdata3' = cx000000
      'gcdata2' = cx000000
      'gcdata1' = cx000000
      'gdata11' = CXe1e1e1
      'gdata5' = CXcfcfcf
      'gdata1' = CXbfbfbf
      'gdata7' = CXababab
      'gdata8' = CX969696
      'gdata2' = CX828282
      'gdata9' = CX6e6e6e
      'gdata3' = CX595959
      'gdata10' = CX454545
      'gdata4' = CX303030
      'gdata6' = CX1c1c1c
      'gdata12' = CX080808;
...