2016-06-15 42 views
2

私は年間x軸1998-2014を持っています。あなたは下の画像で見ることができるように、毎年の前に「X」x軸のラベル(年)の前に奇妙な「X」...削除するには?

enter image description here 2

どのように私はこれを削除することができますか?

また、すべてのバーの下に縦書きで書きたいと思っています。そして、赤と緑の部分内のすべてのバーの値が見える...

私はこのコードを書いた:

d=read.delim("LW_Einkommen.csv", sep=";", dec=".", header=TRUE, row.names=1) 
str(d) 

da=data.matrix(d, rownames.force = NA) 
da 

barplot(da, 
     main="ø Einkommen CH Landwirtschaftsbetriebe 1998-2014", 
     xlab="Jahr", 
     ylab="Einkommen pro Betrieb [CHF]", 
     ylim=c(0, 100000), 
     col=c("red","green"), 
     cex.axis = 0.9, cex.lab = 0.9) 

grid(col="black") 

legend("bottomleft", 
     c("Landwirtschaftliches Einkommen","Ausserlandwirtschaftliches Einkommen"), 
     fill=c("red","green")) 
+0

は大いに役立つだろう。 –

+2

ラベルは、データセットの列名に由来しています。数値の列名には自動的にXが付加されます。 'barplot'に' names.arg'引数を使って名前を設定してみてください。 –

+0

ラベルを垂直にするには 'las'引数を' par'にチェックしてください。 –

答えて

0

は私にとって非常に重要な3 imputsのためにあなたにR.テルフォードをありがとうございました! これで、これ以上のスレッドは、一日のいたずら、私はそれでほぼ完了です。ただ一つの小さなミスが(私はラベルの部分のボルトをマークされている)私の中のブロック標識の間違った順序につながる、私のスクリプトである

d=read.delim("LW_Einkommen.csv", sep=";", dec=".", header=TRUE, row.names=F) 

他の可能性がread.delimラインcheck.name=Fに追加されます wrong block-labeling

Acutal順序がすべて赤のブロックを通じて98red始まり、緑のブロックに比べてジャンプ... をしかし、それは他の後に赤から緑に1つのバーをする必要があります:あなたは下の画像に表示できるよう、barplotを積み重ね...

d=read.delim("LW_Einkommen.csv", sep=";", dec=".", header=TRUE, row.names=1) 
str(d) 

da=data.matrix(d, rownames.force = NA) 
da 

bp=barplot(da, 
     main="ø Einkommen CH Landwirtschaftsbetriebe 1998-2014", 
     xlab="Jahr", 
     ylab="Einkommen pro Betrieb [CHF]", 
     ylim=c(0, 100000), 
     las=3, 
     col=c("red","green"), 
     cex.axis = 0.9, cex.lab = 1, cex.names=0.9, 
     names.arg = expression("1998","1999","2000","2001","2002","2003","2004","2005","2006", 
           "2007","2008","2009","2010","2011","2012","2013","2014")) 

**# Find the top y position of each block 
ypos <- apply(da, 2, cumsum) 
# Move it downwards half the size of each block 
ypos <- ypos - da/2 
ypos <- t(ypos) 
text(bp, ypos, da, cex=0.7)** 

grid() 

legend("topleft", 
     c("Landwirtschaftliches Einkommen","Ausserlandwirtschaftliches Einkommen"), 
     fill=c("red","green"),cex=0.9) 

標識のためのテンプレート私はここから取った:あなたは、データセットの最初の数行を提供する場合https://stackoverflow.com/a/3627269/6467646

関連する問題