Bir dizi yatay gruplandırılmış çubuk grafik üretmem gerekiyor. Arplot işlevi, çizimin kenar boşluklarını otomatik olarak ayarlamaz, bu nedenle metin kesilir. SAS içindeYatay çubuk grafikte kenar boşluklarının otomatik olarak ayarlanması
graphics.off() # close graphics windows
test <- matrix(c(55,65,30, 40,70,55,75,6,49,45,34,20),
nrow =3 ,
ncol=4,
byrow=TRUE,
dimnames = list(c("Subgroup 1", "Subgroup 2", "Subgroup 3"),
c(
"Category 1 Long text",
"Category 2 very Long text",
"Category 3 short text",
"Category 4 very short text"
)))
barplot(test,
las=2,
beside = TRUE,
legend=T,
horiz=T)
otomatik olarak daha fazla sağda arsa taşımak için bir seçenek bulamıyorum yolu Ar dotchart işlevi yapar ((barchart prosedürü) da otomatik olarak marjları ayarlar. Açıkçası, ben her zaman par işlevini kullanarak manuel olarak marjları ayarlayabilirsiniz.
par(mar=c(5.1, 13 ,4.1 ,2.1))
sağ
etme amaçlı planı hareket edecek
Grafiği sağa hareket ettirmek için bir seçenek var mı (ör. metnin uzunluğuna bağlı olarak otomatik olarak kenar boşluklarını ayarlamak?
ben programlı yapmak 2 ile ilgili appproaches düşünebilirsiniz: 1) en uzun metin dizesinin uzunluğunu hesaplayın ve buna göre sol kenar boşluğu ayarlamak 2) veriler için bir dotchart çizimi oluşturun, nasılsa marjları ve kullanımını yakalamak çubuk grafikte aynı marjlar.
Bunu yapmanın daha kolay bir yolu var mı? Teşekkürler!
teşekkür ederiz! Kodunuzu farklı metin dizeleriyle denedim, kenar boşlukları iyi çalışıyor. 1.8 ile nasıl geldin? –
@MaxCherny - sadece nchar üzerinde bazı temel aritmetik: marj oranı ve biraz deneme yanılma hatası. Farklı yazı tipi boyutlarına/stillerine uyarlanabileceğine söz veremem ama hesaplamalar görebileceğiniz gibi kolayca ayarlanabilir. – thelatemail
@thelatemail - Yukarıdaki çözümün genişleme faktörlerini hesaba katıp katmadığını merak ediyorum, cex.lab = 2'yi varsayılan 1 yerine ayarladığımı söyleyin. Teşekkürler! – Alex