2017-10-31 2 views
-1

50points and 10points Die Farbe des Rechtecks ​​ändert sich, wenn sich die Anzahl der Zeilen im Datenrahmen von temp2 ändert. Nachstehend ist der Code, den ich verwendet habe.Füllfarbe ändert sich mit der Anzahl der Punkte bei der Verwendung von ggplot2

ggplot(temp2, 
     aes(x = temp2$end_engine_hours, 
      y = temp2$OIL_PRESSURE)) + 
    geom_point(color = ifelse(temp2$OIL_PRESSURE > temp2$LCL,"green","red")) + 
    geom_rect(aes(xmin=min(temp2$end_engine_hours) - 0.5, 
       xmax= max(temp2$end_engine_hours) + 0.5, 
       ymin= 0, 
       ymax=temp2$LCL), 
      color = "black", alpha = 0.02, fill = 'red') 

TEMP2 Datenrahmen:

structure(list(OIL_PRESSURE = c(126.229996, 116.689995, 123.451, 

117,28, 121,909, 125,96, 126, 122,119995, 116,799995, 127,038994, 129,418, 114, 125,465996, 123,364, 124,635994, 133,5, 128,42699, 123,20799, 127,278, 114,856995, 122.63, 124,147995, 118,588, 120,13799, 122,758995, 116,433, 116,409996, 125,022995, 130,756, 115,90199, 117,5, 126,175995, 122,562, 142,086, 121, 124,978, 127,545, 121,06699, 122,189995, 126,940994, 125,036995, 122,884995 , 123, 122,824, 121,80499, 122,356995, 125,253, 126,94399, 120,329994, 123,76199), LCL = c (231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,0 34372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737, 231,034372404737), end_engine_hours = c (5301,9, 5303,1, 5303,6, 5304,6, 5305,1, 5305,5, 5305,8, 5306,8, 5307,2, 5308,2, 5308,7, 5309,7, 5310,2, 5310,7, 5312,7, 5313,2, 5313,7, 5314,2, 5315,2, 5316,7, 5317,2, 5317,7, 5318,1, 5319,1, 5319,6, 5320,1, 5320,6 5321.6, 5322.1, 5322.6, 5323.1, 5323.6, 5323.7, 5324.4, 5324.9, 5325.9, 5326.4, 5327.4, 5327.5, 5328, 5328.4, 5328.8, 5330.3, 5331.3, 5331.8, 5333,3, 5334,7, 5335,2, 5335,7, 5336,2)), .Names = c ("OIL_PRESSURE", "LCL", "end_engine_hours" ), row.names = c (NA, -50L), class = "data.frame ")

+0

Können Sie einige Beispieldaten bitte zur Verfügung stellen? –

+0

ja das ist ein Beispiel Temp2 Datenrahmen. –

+0

Er meint "ein Beispiel, das wir kopieren-einfügen können, um damit zu arbeiten" (** Sie ** stellen die Frage so ** Sie ** sollten uns Zeit sparen;)) – Arthur

Antwort

0

Der Grund dafür, dass sich die Farbe zu ändern scheint, ist, dass Sie für jede Datenbeobachtung ein Rechteck mit Alpha zeichnen. Versuchen Sie stattdessen:

temp2$flag <- with(temp2, OIL_PRESSURE > LCL) 

require(ggplot2) 

ggplot() + 
    geom_rect(aes(xmin = (min(temp2$end_engine_hours) - 0.5), 
       xmax = (max(temp2$end_engine_hours) + 0.5), 
       ymin = 0, 
       ymax = max(temp2$LCL)), 
      color = "black", fill = 'red', alpha = .2) + 
    geom_point(data = temp2, aes(x = end_engine_hours , 
           y = OIL_PRESSURE, 
           color = flag)) + 
    scale_colour_manual(values = c("red", "green")) + 
    theme(legend.position = "none") 
Verwandte Themen