編集:データを追加しました。ggplotで凡例を定義して表示する
前のStataユーザーとコーディング初心者の私は楽しいです& Rへの移行に問題があります。スクリーンショットに表示されたデータフレームの変数のいくつかに基づいてラインプロットを作成しようとしています。私は彼らが欲しいと思うような形になっていますが、それぞれの線種にラベルを付ける簡単な伝説を追加することはまったくうまくいきません。私も伝説を手に入れることができません!私はかなりここでggplotで使用される抽象化のレベルを取得していないと確信していますが、私は完全に出版物の複数のグラフを介して書式を取得するために手動でこのものを指定したいと確信しています。
私の全体的なアプローチが間違っているかどうかは是非教えてください。ラインが2つある場合は、これをクリアして抽象度を上げるのではなく、非常に幸せなキャンピングカーになります。
(私は他の場所でスタックオーバーフローとで同様の質問から多くのソリューションを試してみましたが、私はちょうどそれが届かない。)
codingsuccess <- ggplot(data = ystats, aes(x=iyear)) +
geom_line(aes(y = pnattacks), linetype = "dotted", size = 1) +
geom_line(aes(y = ptra), linetype = "longdash", size = 1) +
geom_line(aes(y = pdom), linetype = "F1", size = 1) +
geom_line(aes(y = punc), linetype = "solid", size = 1) +
labs(title = "Coding Success", x = "Year", y = "Percentage") +
theme_bw()
codingsuccess # View plot
データ
structure(list(pnattacks = c(96.6954022988506, 94.229722373435,
95.4063604240283, 93.9429464634623, 94.5975744211687, 96.4044943820225,
96.3838166845686, 93.6634494334872, 92.4137931034483, 95.6087824351297,
89.628349178911, 93.6086529006883, 93.4337997847148, 95.7178841309824,
93.8461538461539, 96.2779156327543, 95.0248756218905, 96.039603960396,
96.7592592592593, 96.1538461538462, 96.219035202086, 95.4599761051374,
86.3636363636364, 94.058229352347, 95.1696377228292, 94.8897256589564,
93.6298076923077, 91.9762258543834, 87.6906318082789, 89.1412056151941
), ptra = c(91.6216216216216, 94.2408376963351, 94.6564885496183,
90.9090909090909, 87.7952755905512, 94.5887445887446, 97.5450081833061,
96.7051070840198, NaN, 97.6311336717428, 93.2668329177057, 95.9090909090909,
93.3920704845815, 99.4413407821229, 97.0588235294118, 98.7421383647799,
95.4022988505747, 98.4455958549223, 95.852534562212, 95.4022988505747,
94.9074074074074, 94.6341463414634, 93.1578947368421, 94.5205479452055,
94.0639269406393, 88.5826771653543, 91.554054054054, 89.3041237113402,
85.7374392220421, 91.2866449511401), pdom = c(98.116539140671,
97.3818181818182, 98.1110475100172, 97.2609561752988, 97.7892756349953,
98.0813953488372, 97.5047080979284, 95.0148367952522, NaN, 96.2833914053426,
94.4610778443114, 94.6575342465753, 94.4532488114105, 99.5024875621891,
92.375366568915, 96.4285714285714, 98.0952380952381, 96.9072164948454,
97.2027972027972, 98.1060606060606, 97.9779411764706, 98.3660130718954,
96.9072164948454, 95.5916473317865, 98.2203969883641, 97.3514211886305,
95.5904334828102, 94.8237394020527, 88.2456915598763, 88.370142577579
), punc = c(15.8536585365854, 23.1884057971014, 41.5730337078652,
0.641025641025641, 25, 20.7920792079208, 19.8412698412698, 22.5641025641026,
0, 31.9587628865979, 21.0526315789474, 43.4782608695652, 49.5867768595041,
10.5263157894737, 7.69230769230769, 9.09090909090909, 0, 40,
8.69565217391304, 0, 0, 7.31707317073171, 0.75187969924812, 1.96078431372549,
14.2857142857143, 25.1968503937008, 7.01754385964912, 50.6398537477148,
60.5584642233857, 73.558981233244), iyear = 1985:2014), .Names = c("pnattacks",
"ptra", "pdom", "punc", "iyear"), row.names = c(NA, 30L), class = "data.frame")
可能な重複](http://stackoverflow.com/questions/5027016/missing-legend-with-ggplot2-and-geom-line) – lbusett
データをワイドフォーマットからロングフォーマットに再編成する必要があります。おそらく ' reshape2'または 'tidyr'パッケージをインストールします。サンプルデータセットを提供すると、それを行う方法を実証することができます。 – www
あなたのデータをどのように共有できるかをご覧になるには、ここをクリックしてください[http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example] – lbusett