0

これはちょっとした問題ですが、グラフの凡例の線の色を表示するのに問題があります。"Sabry Lee" の横のボックスの色は青のはずですが、なぜか空白になっています。

データは次のとおりです。

df2 <- structure(list(STRING = c("1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC"), time = structure(c(13239, 13422, 
13483, 13545, 13573, 13604, 13634, 13665, 13695, 13726, 13757, 
13787, 13818, 13848, 13879, 13910, 13939, 13970, 14000, 14031, 
14061, 14092, 14123, 14153, 14184, 14214, 14245, 14276, 14304, 
14335), class = "Date"), ee_qty = c(NA, 2302, 3434, 1800, 2766, 
4408, 6314, 2860, 2476, 1572, 4950, 1812, 14100, 7591, NA, NA, 
11823, NA, NA, 11829, 3836, 5378, 4804, 4356, 3655, 5955, 1345, 
4717, 8854, 11494), ee_amt = c(NA, 33815.88, 60107.4, 66279.2, 
66814.46, 129042.18, 151649.49, 58576.2, 61984.58, 61782, 102648.16, 
67844.4, 362371.82, 159274.66, NA, NA, 285847.62, NA, NA, 258045.26, 
82306.74, 119702.9, 113514.6, 118765.82, 86298.66, 155659.83, 
40246.14, 134675.59, 236084.63, 256467.56), elite_qty = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, 1281, 3037, 2141, 1764, 1661, 
1838, 2780, 2627, 2498, 3137, 2238, 2470, 1107, 1886, 844, 798, 
NA, 1588, 1919, 2603), elite_amt = c(NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, 34956.08, 48618.37, 58880.59, 49141.23, 49067.42, 
40105.91, 89717.69, 78612.5, 40608.3599999999, 65893.38, 33706.66, 
77191.76, 45096.9, 55742.83, 29993.7600000000, 27171.22, NA, 
1427.23, 2466.64, 54500.19), Sabry_Qty = c(596, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA), Sabry_amt = c(17761.06, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), depo_qty = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
902, 319, 883, 597, 854, 710, 911, 573, 447, 857, 795, 997, 822
), depo_amt = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, 31011.68, 13556.65, 32134.72, 23106.94, 36681.95, 
30220.74, 38051.93, 24941.85, 19337.46, 31360.4, 30182.18, 41363.71, 
34419.34), tyc_qty = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, 58, 116, 136), tyc_amt = c(NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, 3103.73, 7538.71, 7497.34), string2 = c("1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC", 
"1A AUTO INC", "1A AUTO INC", "1A AUTO INC", "1A AUTO INC")), .Names = c("STRING", 
"time", "ee_qty", "ee_amt", "elite_qty", "elite_amt", "Sabry_Qty", 
"Sabry_amt", "depo_qty", "depo_amt", "tyc_qty", "tyc_amt", "string2"
), row.names = c(NA, 30L), class = "data.frame")

そして、プロットを生成するコード:

p = ggplot(df2)
p = p + 
    geom_line(aes(time, ee_amt, colour="ee_amt"), size = 2) + 
    geom_point(aes(time, ee_amt, colour="ee_amt"), size = 2) + 
    geom_line(aes(time, elite_amt, colour="elite_amt"), size = 2) + 
    geom_point(aes(time, elite_amt, colour="elite_amt"), size = 2) +
    geom_line(aes(time, Sabry_amt, colour="Sabry_amt"), size = 2) + 
    geom_point(aes(time, Sabry_amt, colour="Sabry_amt"), size = 2) +
    geom_line(aes(time, depo_amt, colour="depo_amt"), size = 2) + 
    geom_point(aes(time, depo_amt, colour="depo_amt"), size = 2) +
    geom_line(aes(time, tyc_amt, colour="tyc_amt"), size = 2) + 
    geom_point(aes(time, tyc_amt, colour="tyc_amt"), size = 2) +
    ylab("Revenue (Dollars)") + 
    xlab("Time") + 
    labs(colour = "") + 
    opts(legend.position="right") + 
    opts(title = "Stuff") +
    scale_color_manual(name ="", 
                       values = c("red", "green", "blue", "purple", "yellow"),                 
                       breaks=c("ee_amt", "elite_amt", "Sabry_Amt", "depo_amt", "tyc_amt"), 
                       labels=c("Eagle Eyes", "E-lite", "Sabry Lee", "Depo", "TYC"))
4

1 に答える 1

4

あなたはそれを間違った方法でやっています。最初meltにデータを使用し、次にそれを使用して作業を実行できるため、とに5回の呼び出しを行う必要はありggplotません。そして、通常、レベルからの休憩を取得する方が安全であり、タイピングがはるかに少なく、エラーが発生しにくくなります。geom_linegeom_point

library(reshape2)

df2M <- melt(df2, measure.vars = c("ee_amt", "elite_amt", "Sabry_amt", "depo_amt", "tyc_amt"))

ggplot(df2M, aes(time, value, colour = variable, group = variable)) + 
  geom_line(size = 2) +
  geom_point(size = 2) +
 labs(colour = "", x = "Time", y = "Revenue (Dollars)") + 
 opts(legend.position="right", title = "Stuff") +
  scale_color_manual(name ="", values = c("red", "green", "blue", "purple", "yellow"), 
                     breaks= levels(df2M$variable), 
                     labels=c("Eagle Eyes", "E-lite", "Sabry Lee", "Depo", "TYC"))

ここに画像の説明を入力してください

于 2012-09-05T15:31:27.383 に答える