Удалить перекрывающиеся метки оси X на диаграмме

За исключением использования аннотаций, я не смог найти разумного способа предотвратить перекрытие моих меток оси X при использовании barchartparm в САС. Из документации они ясно заявляют, что столбчатые диаграммы используют дискретную ось, а другие типы осей, такие как время, для них недопустимы. Хотя с концептуальной точки зрения это имеет смысл, это кажется "ненужным" ограничением для принудительного применения, поскольку не оставляет контроля над маркировкой по оси X, поскольку каждая отдельная этикетка будет напечатана.

Пример данных:

data test;
  format rpt_date date9.;
  do rpt_date=date()-90 to date();
    root = round(ranuni(1) *100,1);
    output;
  end;
run;

Определите шаблон диаграммы:

proc template;
  define statgraph giddyup;
    begingraph;
        layout overlay; 
          barchartparm  x=rpt_date y=root ;
        endlayout;
    endgraph;
  end;
run;

Создайте диаграмму:

proc sgrender data=test template=giddyup;
run;

Результат:

результат

Я попытался приклеить его на клейкую ленту и создать собственный формат для оси X, который бы "отбрасывал" многие значения, и хотя диаграмма была создана, она сложила все пробелы вместе (??) и также произвела предупреждение.

Я также пытался использовать альтернативный x2axisopts и установка оси на вторичную без удачи.

Если бы я использовал диаграмму серии, я смог бы точно контролировать ось, но в моем случае данные гораздо проще интерпретировать как диаграмму. Возможно, им нужно было добавить дополнительные опции к xaxisopts для гистограммы.

Самое расстраивающее здесь то, что это то, что вы можете сделать в Excel за 2 секунды, и мне кажется, что это будет очень распространенная диаграмма в Excel, которую нелегко воспроизвести в SAS!

РЕДАКТИРОВАТЬ: я тоже не хочу использовать proc gchart,

1 ответ

Решение

Хорошо, теперь я чувствую себя глупо. Оказывается, что гистограммы добьются того же самого результата:

histogramparm x=rpt_date y=root ;

Я думаю, это все еще ценный вопрос, так как я потратил много времени, пытаясь найти ответы и не мог найти решение.

результат

Хорошо, что я не хотел, чтобы это было горизонтально...

Другие вопросы по тегам