Странная буква «Х» перед каждой меткой оси абсцисс (год) Как удалить?

У меня годовая ось абсцисс 1998-2014 гг. Как вы можете видеть на картинке ниже, перед каждым годом стоит крестик.

введите здесь описание изображения 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"))

person Sven    schedule 15.06.2016    source источник
comment
Очень поможет, если вы предоставите первые несколько строк своего набора данных.   -  person Adam Quek    schedule 15.06.2016
comment
Ярлыки взяты из имен столбцов вашего набора данных. К числовым именам столбцов автоматически добавляется X. Попробуйте использовать аргумент names.arg для barplot, чтобы задать имена   -  person Richard Telford    schedule 15.06.2016
comment
Проверьте аргумент las на par, чтобы сделать метки вертикальными.   -  person Richard Telford    schedule 15.06.2016


Ответы (1)


Спасибо, Р. Телфорд, за 3 очень важных для меня вклада! С этим, дальнейшими темами здесь и целым днем ​​возня, я почти закончил.

Другая возможность добавляет в read.delim строку check.name=F:

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

В моем скрипте есть всего одна маленькая ошибка (я пометил болт с меткой), что привело к неправильному порядку маркировки блоков на моем столбчатом графике с накоплением, как вы можете видеть на рисунке ниже: неправильная маркировка блока

Острый порядок начинается с 98-го красного через все красные блоки и перескакивает, чем на зеленые блоки ... Но это должна быть одна полоса от красного к зеленому за другим ...

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

person Sven    schedule 15.06.2016