forked from rdpeng/ExData_Plotting1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
plot4.R
45 lines (38 loc) · 2.08 KB
/
plot4.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
## Construct the plot and save it to a PNG file with a width of 480 pixels and a height of 480 pixels.
## Name each of the plot files as plot1.png, plot2.png, etc.
## Create a separate R code file that constructs the corresponding plot.
## Your code file should include code for reading the data so that the plot can be fully reproduced.
## You must also include the code that creates the PNG file.
## Add the PNG file and R code file to the top-level folder of your git repository (no need for separate sub-folders)
## get file and unzip
fileUrl <- 'http://d396qusza40orc.cloudfront.net/exdata%2Fdata%2Fhousehold_power_consumption.zip'
if (!file.exists('..\\household_power_consumption.zip')) {
download.file(fileUrl, '..\\household_power_consumption.zip', method='wininet')
unzip('..\\household_power_consumption.zip',exdir="..")
}
## Read in data for two days
library(data.table)
if (!exists("dat")) {
dat<-fread("grep \"^\\(Date\\|[12]/2/2007\\)\" ..\\household_power_consumption.txt", header=T,
sep=";", na.strings="?", stringsAsFactors = F, colClasses=c("character", "character", rep("numeric",7)))
## create a column with POXISct version of the date and time
dat$Date_time <- as.POSIXct(paste(dat$Date,dat$Time), tz=Sys.timezone(), "%d/%m/%Y %H:%M:%S")
}
## create and save four charts for power, voltage, and sub-metering
png(file="plot4.png", width=480, height=480, bg="white")
par(mfrow=c(2,2), mar=c(4,4,2,1), oma=c(0,0,2,0))
with(dat, {
plot(Global_active_power~Date_time, type="l",
ylab="Global Active Power", xlab="")
plot(Voltage~Date_time, type="l",
ylab="Voltage", xlab="datetime")
plot(Sub_metering_1~Date_time, type="l",
ylab="Energy sub metering", xlab="")
lines(Sub_metering_2~Date_time,col='Red')
lines(Sub_metering_3~Date_time,col='Blue')
legend("topright", col=c("black", "red", "blue"), lty=1, lwd=2, bty="n",
legend=c("Sub_metering_1", "Sub_metering_2", "Sub_metering_3"))
plot(Global_reactive_power~Date_time, type="l",
ylab="Global_reactive_power",xlab="datetime")
})
dev.off()