2016-06-30 20 views
1

プロットされた値を正しく一致させるために、Y軸(「行」)のラベルを上から下へ、上から下へと変更したいと考えています。これは、y軸で値を手動で定義するだけでなく(言い換えれば、y軸上で使用されているラベルを取り除き、その順序を逆転させてからそれらをラベルとして戻しますか?panel.levelplot()はどのように見えますか?)また、これは追加パッケージを使用せずに行う必要があります。レベルプロットのy軸ラベルの順序を逆にする方法は?

library(lattice) 
A <- outer(1:100, 1:100, FUN = function(x, y) (x+2*y)/300) 
levelplot(t(A)[, nrow(A):1], xlab = "Column", ylab = "Row") 

考え方は、マトリックスの構造(左上から右下に向かう対角線)を視覚的に一致させることです。ありがとう。

答えて

2

ただ、いっそのこと、ylim=c(100.5,0.5)ylim=c(100,1)を設定するか:

## Prepare figures with and without inverted y-axes, for easy comparison 
a <- levelplot(t(A)[, nrow(A):1], xlab = "Column", ylab = "Row") 
b <- levelplot(t(A)[, nrow(A):1], xlab = "Column", ylab = "Row", 
      ylim=c(100.5, 0.5)) 

## Plot figs side-by-side to confirm that this works 
library(gridExtra) 
grid.arrange(a, b, ncol=2) 

enter image description here

+0

こんにちはジョシュ、ありがとう。あなたがイルミムを元に戻すことができるかどうかはわかりませんでした。それ以外に、ラベルなしでティックを削除する自動の方法はありますか(100行目)?範囲を少し小さくすることはできますが、それはnrow(A)が小さい場合には既に最適ではありません。 –

+0

@MariusHofert - 目盛りを制御するには、 '?xyplot'で文書化された' scales = '引数を使用します。ここで、 'scales = list(x = list(at = 20 *(1:4))、y = list(at = 20 *(4:1)))'を追加するとよいでしょう。 –

+0

...(実際の問​​題はさまざまなサイズの行列を取得する関数なので)自動的に 'デフォルトの尺度'を取得し、最後の刻みを削除するとよいでしょう。 –

関連する問題