image()
работает, создавая маленький прямоугольник соответствующего цвета для каждой записи в матрице. Поскольку ваша матрица 200 на 180000 (после ее транспонирования), вы получите столько прямоугольников, расположенных в области графика. Вы просили, чтобы общее окно было шириной 2000 пикселей, высотой 32000 пикселей при 600 dpi, поэтому общее окно будет иметь ширину 3,3 дюйма и высоту 53,3 дюйма. Поля будут немного меньше дюйма слева и меньше справа, поэтому область графика будет занимать только часть этой ширины.
Обработка отображения из матрицы в пиксель усложняется из-за полей. Попробуйте несколько небольших примеров на экране, если вы хотите увидеть, на что это похоже. Например, этот код
setwd("~/temp")
data <- matrix(NA, 10000, 20)
data <- row(data) + 100*col(data)
my_palette <- colorRampPalette(c( "white","black"))(n=20)
image(t(data), xaxt= "n", yaxt= "n", bty="n", col=my_palette)
дает это изображение при преобразовании, чтобы быть намного выше, чем в ширину:
Возможно, вы захотите использовать par(mai=c(0,0,0,0))
, чтобы упростить отображение без полей. Вы также получили меньше пикселей, чем матричные записи в вертикальном направлении. Я не знаю, будет ли R выбирать или усреднять цвета в том, что он показывает.