3

最終編集: matplot() を使用した結果 より特徴的な結果を得るために ~3 桁の値を使用するようにしますが、基本的にはそれが私が望んでいたものです ここに画像の説明を入力

元の質問


添付画像のようなグラフを作成したいグラフは次のようになります

私が得たのは、y 軸と x 軸の両方の各行 (異なるトピックを表す) の値です。

私が見つけたRプロットの例に近く、次のことを試しました:

arts=c(pt[1,])
g_range <- range(0, arts)
plot(arts, type="o", col="blue", ylim=g_range,axes=FALSE, ann=FALSE)
axis(1, at=1:23, lab=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23))
box()

これにより、エラーが発生します

xy.coords(x, y, xlabel, ylabel, log) のエラー: 'x' はリストですが、コンポーネント 'x' と 'y' がありません

どうやら芸術はここでのプロットの正しいパラメータではありませんよね? 補足: アート ベクトルの値は、0 ~ 23 のスケールに合うように並べられています。

さらに、これはptの頭がどのように見えるかですここに画像の説明を入力

編集:リクエストに応じて、ここで dput(head(pt)) の出力

    structure(list(`0` = c(2, 1, 0, 0, 0, 0), `1` = c(1, 0, 0, 0, 
0, 0), `2` = c(1, 0, 0, 0, 0, 0), `3` = c(0, 0, 0, 0, 0, 0), 
    `4` = c(0, 0, 0, 0, 0, 0), `5` = c(0, 0, 0, 0, 0, 0), `6` = c(1, 
    0, 0, 0, 0, 0), `7` = c(1, 0, 0, 0, 0, 0), `8` = c(1, 0, 
    0, 0, 0, 0), `9` = c(2, 0, 0, 0, 0, 0), `10` = c(2, 1, 0, 
    0, 0, 0), `11` = c(2, 1, 0, 0, 0, 0), `12` = c(2, 1, 0, 0, 
    0, 0), `13` = c(2, 1, 0, 0, 0, 0), `14` = c(2, 1, 0, 0, 0, 
    0), `15` = c(3, 1, 0, 0, 0, 0), `16` = c(3, 1, 0, 0, 0, 0
    ), `17` = c(3, 1, 0, 0, 0, 0), `18` = c(3, 1, 1, 1, 0, 0), 
    `19` = c(3, 1, 1, 1, 0, 0), `20` = c(3, 1, 1, 1, 0, 0), `21` = c(3, 
    1, 1, 1, 0, 0), `22` = c(3, 1, 1, 0, 0, 0), `23` = c(2, 1, 
    0, 0, 0, 0)), .Names = c("0", "1", "2", "3", "4", "5", "6", 
"7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", 
"18", "19", "20", "21", "22", "23"), row.names = c(NA, 6L), class = "data.frame")
4

1 に答える 1

7

matplot行列の各列を Figure の個別の線としてプロットするために使用できます。行列を転置するだけで、準備は完了です。参照する引数の詳細については、matplot一般的なグラフィックス パラメータを制御します?matplot?par

# Generate data
categories <- c("Entertainment", "Games", "Health", "Personal Finance",
    "Shopping", "Music", "USSites", "Porn")
colors <- c("green", "blue", "cyan", "yellow", "magenta", "orange",
    "red", "black")
markers <- 1:8
pt <- matrix(runif(length(categories)*23), length(categories), 23)

# Plot
matplot(1:23, t(pt), type="l", col=colors, lty=1, pch=markers,
        bty="n", las=1, main="Categorical Percent over Time")
legend("topright", col=colors, categories, bg="white", lwd=1, pch=markers)

ここに画像の説明を入力

一様に分散されたランダム データをサンプリングしただけなので、非常に乱雑に見えますが、あなたのデータでははるかに良く見えます。

于 2012-09-28T13:03:20.163 に答える