01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
# 関数の定義
shift.plot <- function(df, cl=50, xmax=100,...){ # data.frame y軸の階級 x軸の幅
# 階級の区分
mn <- min(df[,1])
mx <- max(df[,1])
by=(mx-mn)/(cl-1) # 範囲/階級数
df <- cbind(df, cl=cut(df$n, seq(from=mn, to=mx+by, by=by), right=F))
df <- df[order(df[,2], df[,1]),]
# 近接した場合の移動量
freq <- na.omit(as.data.frame.table(tapply(df[,1], list(df[,3], df[,2]), length))) # 頻度
freq <- freq[order(freq[,2], freq[,1]),]
shift1 <- unlist(mapply(":", 1, freq[,3]))
df <- cbind(df, shift=shift1)
# 凡例別の移動量
shift2 <- xmax / (length(unique(freq[,2]))*2)
shift2 <- shift2 * seq(from=1, to=length(unique(freq[,2]))*2, by=2)
shift2 <- mapply(rep, shift2, tapply(df[,1], df[,2], length))
shift2 <- unlist(shift2[1:length(shift2)])
shift3 <- shift2 + xmax*0.01 # x軸の凡例の移動量 0.01を変更してズレを調整
# 移動量の合計
df$shift <- df$shift + shift2
plot(df$shift, df$n, xlim=c(0,xmax), xaxt="n", ...)
axis(side=1, at=unique(shift3), labels=as.character(unique(df[,2]))) # x軸を表示
}
# 使用方法
r <- 60
df <- data.frame(n=round(rnorm(r)*10,0), com=c(rep("a",r/2), rep("b",r/4), rep("c",r/4)))
shift.plot(df, cl=100, xmax=100)
\documentclass[12pt]{jsarticle}
\usepackage{layout}
\begin{document}
\layout
\end{document}
私が決定中で意識(あなたがそれを必要とするかどうかに関係なく、ここの方へ内部で曲げられることができることがそれを持ってこられる回復に私なぜ、そして、それは入力されますもの)に手渡した私。
> ## 行列の資料を散布図にする
mat.plot <- function(mat, trans=FALSE, horiz=FALSE, type="b", ...){ # 行列
if(trans==TRUE) mat <- t(mat) # 行列を入れ替える
lim <- range(mat)
m <- ncol(mat) # 列数
n <- nrow(mat) # 行数
plot(1, type="n", axes=F, ann=F) # 何も描かない
j <- round(n*3); k <- round((j-n)/2) # 色の設定
col <- grey((j:0/j)[k:(k+n)]) # 色の設定
for(i in 1:n){ # 各行で
par(new=T)
if(horiz==TRUE){
plot(x=1:m, y=mat[i,], xlim=c(1,m), ylim=lim, col=col[i], type=type, ...) # 散布図
} else {
plot(y=1:m, x=mat[i,], ylim=c(1,m), xlim=lim, col=col[i], type=type, ...) # 散布図
}
}
}
## 使用方法
matplot(matrix(1:20, nrow=4))
mat.plot(matrix(1:20, nrow=4), trans=F, horiz=F)
mat.plot(matrix(1:20, nrow=4), trans=F, horiz=T)
// 「|」で区切って文字列を入力する
// ファイルの先頭に結果が出力される
// |で区切って入力
$str = input("検索語を「|」で区切って入力してください", "");
$str = $str + "\|"; // 最後の区切りを追加
#n = 1; // 検索語の番号
#i = strlen($str); // 文字列の長さ
$result = ""; // 結果
while (1 < #i) {
#j = strstr($str, "\|"); // 区切りまでの長さ
$word[#n] = leftstr($str, #j); // 検索文字列の行列
replaceallfast $word[#n], $word[#n]; // 置換して文字列を数える
#word[#n] = result; // 単語数の行列
$str = rightstr($str, #i-#j-1);// 残りの文字列
#i = strlen($str); // 文字列の長さ
$result = $result + $word[#n] + ": " + str(#word[#n]) + "\n";
}
gofiletop; // ファイルの先頭に移動
insert $result + "\n"; // 結果の書き込み
endmacro;
\hyphenpenalty=10000\relax
\exhyphenpenalty=10000\relax
\sloppy
ネタ元:http://optphys.sci.hokudai.ac.jp/~sekika/TeX-Tips.html#%1B$B%O%$%U%M!%3C%7%g%s$r6X;_$9$k%1B
plot(c(1,5),c(1,4), type="n") #
text(2,1,"通常", font=1)
text(2,2,"太字", font=2)
text(2,3,"斜体", font=3)
text(2,4,"太字・斜体", font=3)
text(4,1,"0.5倍", cex=0.5)
text(4,2,"1.0倍", cex=1.0)
text(4,3,"1.5倍", cex=1.5)
text(4,4,"2.0倍", cex=2.0)
生態学の個々の研究は,「どんな問題に取り組むか」「どんな手法でアプローチするか」「どの生き物・生態系を対象とするか」という3本の軸が作る3次元空間のどこかに浮かんでいる.研究対象という軸があるところが,多様な生物の多様な生き方を対象とする研究分野の特徴か.空間のなかの一点に固執していると発展性が限られる.意識的に,どれかの軸に沿って動き回ってみると,新しい展開があるかもしれない.材料を変えてみるとか,違う手法でアプローチしてみるとか.あるいは,同じ材料・同じアプローチであっても,ちがう問題意識で見直してみるとか.
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2009-12-01 22:42