Я понимаю, что исправление для этой проблемы, конечно, очень тривиально, но по какой-то причине я не могу опустить голову вокруг нее!Проблема при настройке оси графика в R
Рассмотрим следующий вектор (зоопарк объекта)
library(zoo)
h1 = c(-0.0130944, -0.0132586, -0.0132235, -0.0131435, -0.0134029, -0.0128966, -0.0130439)
h1.zoo = zoo(h1, order.by = as.Date(c("2013-12-09", "2013-12-10", "2013-12-11", "2013-12-12", "2013-12-13", "2013-12-16", "2013-12-17"))
Я хочу построить вектор h1.zoo, с Y-оси пределах -0.2 до 0. Я хочу, ось у пересечения с х-оси, чтобы быть в точке у = -0,2
Я попытался следующие:
jpeg(out.jpg, width=800, height=600)
par(mai = c(1,2,1,0.7), cex=1.6, xaxs='i',yaxs='i', xpd = TRUE, width = 800, height = 600)
if (!all(is.na(h1.zoo)))
{
plot(na.trim(h1.zoo), main="", xlab="Date", ylab="", yaxt = "n", bty = "n", cex.axis = 0.8)
axis(2, las = 2, cex.axis = 0.8, at = seq(-0.02, 0, 0.002), labels = seq(-0.02, 0, 0.002), ylim = c(-0.02,0))
title(ylab = "Contribution to Expected Return (in %)", line = 4)
}
dev.off()
, но это приводит к сюжету, который не имеет тиков по оси у, и очень необычные пропорции. Я не уверен, что я делаю неправильно.
Спасибо за помощь!
Попробуйте удалить следующие аргументы: 'xpd = TRUE' и' yaxt = 'n''. xpd позволяет строить график за пределами области фигуры, тогда как yaxt управляет типом оси y. – TWL
Если я это сделаю, все, что он собирается сделать, это переопределить все функции функции(). Я хочу сохранить 'yaxt =" n "', но сделайте функцию function() корректной. Чтобы доказать это, посмотрите на пределы оси y, когда вы удаляете 'yaxt =" n "': они не являются -0.2 и 0, как я хочу. – Mayou
OK, что, если вы используете аргумент 'ylim-c (-0.02,0)' непосредственно в 'plot()'. Затем вы можете либо избавиться от 'axis()' и 'yaxt = 'n'', либо сохранить' axis() 'для управления более высокой осью. – TWL