2013-05-07 2 views
16

(я все еще учусь, как обрабатывать изображения в R, это является своего рода продолжением rpart package: Save Decision Tree to PNG)R: построение дерева этикетки решения оставляет текст отрезать

Я пытаюсь сохранить дерева решений участок от rpart в форме PNG, а не предоставленный постскриптум. Мой код выглядит так:

png("tree.png", width=1000, height=800, antialias="cleartype") 
plot(fit, uniform=TRUE, 
    main="Classification Tree") 
text(fit, use.n=TRUE, all=TRUE, cex=.8) 
dev.off() 

но отрезает немного ярлыков для краевых узлов с обеих сторон. это не проблема в исходном post изображении, которое я конвертировал в png только для проверки. Я пробовал использовать параметры oma и mar в par, которые были рекомендованы в качестве решений для проблем с меткой/текстом и оба добавляли свободное пространство вокруг изображения, но больше не отображали ярлыки. Есть ли способ получить текст в соответствии?

+3

Попробуйте прочитать документацию, содержащуюся на '' plot.rpart', и обратите особое внимание на аргумент 'margin'. – joran

+0

А, я не знал, что существует множество способов установить поля. Благодаря! – rhae66

ответ

16

Пакет rpart.plot включает в себя участки деревьев и автоматически заботится об этой проблеме.

+2

Это. Поля не являются единственной проблемой. Иногда сюжет отсекает текстовые метки произвольно. –

5

По умолчанию маржа равна 0. Поэтому, если ваш текст представляет собой набор слов или просто длинное слово, попробуйте поместить больше полей в вызов графика. Например,

plot(fit, uniform=TRUE,margin=0.2) 
text(fit, use.n=TRUE, all=TRUE, cex=.8) 

В качестве альтернативы вы можете отрегулировать размер шрифта текста, изменив cex в текстовом вызове. Например,

plot(fit, uniform=TRUE) 
text(fit,use.n=TRUE, all=TRUE, cex=.7) 

Конечно, вы можете настроить оба мар в сюжетном вызове и CEX в текстовом вызове, чтобы получить то, что вы хотите.

1

На rpart человек, в rpart() примеры автор дает решение, установить пар вариантов с XPD = NA:

пар (mfrow = с (1,2), XPD = NA) # в противном случае на некоторых устройства текст обрезается

+0

Простое решение. Он работал с моими данными. – JABalbuena

Смежные вопросы