# Thư viện
library(ggplot2)
# Dữ liệu CO₂
co2_data <- data.frame(
Thang = c("Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5"),
SuDung = c(0.725, 0.728, 0.731, 0.734, 0.737)
)
# Trung bình & định mức
tb <- mean(co2_data$SuDung)
dinhmuc <- 0.750
# Biểu đồ
ggplot(co2_data, aes(x = Thang, y = SuDung)) +
geom_col(fill = "#59A14F", width = 0.6) +
# Nhãn trên đỉnh cột
geom_text(aes(label = round(SuDung, 3)),
vjust = -0.5, fontface = "bold", size = 4, color = "black") +
# Đường trung bình màu đỏ
geom_hline(yintercept = tb, color = "red", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = tb + 0.008,
label = paste("Trung bình:", round(tb, 5)),
color = "red", fontface = "bold", size = 4, hjust = 2.5) +
# Đường định mức màu vàng
geom_hline(yintercept = dinhmuc, color = "orange", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = dinhmuc + 0.003,
label = "Định mức: 0.750",
color = "orange", fontface = "bold", size = 4, hjust = 2.7) +
# Cắt trục từ giá trị hợp lý
coord_cartesian(ylim = c(0.68, 0.755)) +
# Nhãn trục
labs(
title = "TIÊU HAO CO2 THEO THÁNG",
x = "Tháng",
y = "Tấn CO2 / Tấn Ure"
) +
# Giao diện hiện đại + có trục X, Y
theme_minimal(base_size = 13) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line.x = element_line(color = "black", linewidth = 0.8),
axis.line.y = element_line(color = "black", linewidth = 0.8),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 14)
)
## Tiêu hao năng lượng
# Thư viện
library(ggplot2)
# Dữ liệu
nangluong_data <- data.frame(
Thang = c("Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5"),
SuDung = c(3.735, 3.748, 3.751, 3.783, 3.592)
)
# Trung bình & định mức
tb <- mean(nangluong_data$SuDung)
dinhmuc <- 4.046
# Biểu đồ
ggplot(nangluong_data, aes(x = Thang, y = SuDung)) +
geom_col(fill = "#F28E2B", width = 0.6) + # Màu cam hiện đại
# Nhãn giá trị trên cột
geom_text(aes(label = round(SuDung, 3)),
vjust = -0.5, fontface = "bold", size = 4, color = "black") +
# Đường trung bình màu đỏ
geom_hline(yintercept = tb, color = "red", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = tb + 0.13,
label = paste("Trung bình:", round(tb, 3)),
color = "red", fontface = "bold", size = 4, hjust = 2.5) +
# Đường định mức màu vàng
geom_hline(yintercept = dinhmuc, color = "orange", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = dinhmuc + 0.06,
label = "Định mức: 4.046",
color = "orange", fontface = "bold", size = 4, hjust = 2.7) +
# Cắt trục tung để rõ độ chênh
coord_cartesian(ylim = c(3.10, 4.1)) +
labs(
title = "TIÊU THỤ NĂNG LƯỢNG",
x = "Tháng",
y = "GJ / Tấn Ure"
) +
theme_minimal(base_size = 13) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line.x = element_line(color = "black", linewidth = 0.8),
axis.line.y = element_line(color = "black", linewidth = 0.8),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 14)
)
## Tiêu hao điện.
# Thư viện
library(ggplot2)
# Dữ liệu
dien_data <- data.frame(
Thang = c("Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5"),
SuDung = c(56.995, 57.396, 56.875, 57.815, 57.764)
)
# Trung bình & định mức
tb <- mean(dien_data$SuDung)
dinhmuc <- 63.056
# Vẽ biểu đồ
ggplot(dien_data, aes(x = Thang, y = SuDung)) +
geom_col(fill = "#EDC948", width = 0.6) +
# Nhãn trên đỉnh cột
geom_text(aes(label = round(SuDung, 3)),
vjust = -0.5, fontface = "bold", size = 4, color = "black") +
# Đường trung bình màu đỏ
geom_hline(yintercept = tb, color = "red", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = tb + 0.81,
label = paste("Trung bình:", round(tb, 3)),
color = "red", fontface = "bold", size = 4, hjust = 2.4) +
# Đường định mức màu vàng
geom_hline(yintercept = dinhmuc, color = "orange", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = dinhmuc + 0.41,
label = "Định mức: 63.056",
color = "orange", fontface = "bold", size = 4, hjust = 2.5) +
# Giới hạn trục tung để dễ nhìn
coord_cartesian(ylim = c(50.5, 64)) +
# Nhãn trục
labs(
title = "TIÊU HAO ĐIỆN THEO THÁNG",
x = "Tháng",
y = "kWh / Tấn Ure"
) +
# Giao diện
theme_minimal(base_size = 13) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line.x = element_line(color = "black", linewidth = 0.8),
axis.line.y = element_line(color = "black", linewidth = 0.8),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 14)
)
# Thư viện
library(ggplot2)
# Dữ liệu
hoi_data <- data.frame(
Thang = c("Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5"),
SuDung = c(0.9499018, 0.9522588, 0.9538364, 0.9598926, 0.9002289)
)
# Trung bình & định mức
tb <- mean(hoi_data$SuDung)
dinhmuc <- 1.011
# Biểu đồ
ggplot(hoi_data, aes(x = Thang, y = SuDung)) +
geom_col(fill = "#76B7B2", width = 0.6) + # Xanh ngọc hiện đại
# Số liệu trên đỉnh cột
geom_text(aes(label = round(SuDung, 4)),
vjust = -0.5, fontface = "bold", size = 4, color = "black") +
# Đường trung bình màu đỏ
geom_hline(yintercept = tb, color = "red", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = tb + 0.009,
label = paste("Trung bình:", round(tb, 4)),
color = "red", fontface = "bold", size = 4, hjust = 0.5) +
# Đường định mức màu vàng
geom_hline(yintercept = dinhmuc, color = "orange", linetype = "dashed", linewidth = 1) +
annotate("text", x = 5.2, y = dinhmuc + 0.009,
label = "Định mức: 1.011",
color = "orange", fontface = "bold", size = 4, hjust = 0.5) +
# Giới hạn trục tung để nổi bật khác biệt
coord_cartesian(ylim = c(0.80, 1.03)) +
# Nhãn biểu đồ
labs(
title = "TIÊU HAO HƠI CAO ÁP",
x = "Tháng",
y = "Tấn Hơi / Tấn Urea"
) +
# Giao diện hiện đại, rõ ràng
theme_minimal(base_size = 13) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line.x = element_line(color = "black", linewidth = 0.8),
axis.line.y = element_line(color = "black", linewidth = 0.8),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 14)
)
###sO SÁNH 2025-2024
# Thư viện
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Dữ liệu gốc
chitieu <- c("T.NH3/UREA", "T.CO2/UREA", "ĐIỆN kWh/T.UREA", "T.HS/UREA", "GJ/T.UREA")
nam2024 <- c(0.563204, 0.733382, 59.6, 0.950546, 3.769464)
nam2025 <- c(0.56197, 0.731, 57.769, 0.943224, 3.7218)
# Tính % thay đổi
pt_change <- round((nam2025 - nam2024) / nam2024 * 100, 2)
# Tạo bảng dữ liệu
data <- data.frame(
ChiTieu = rep(chitieu, 2),
Nam = rep(c("2024", "2025"), each = 5),
GiaTri = c(nam2024, nam2025),
PT = c(rep(NA, 5), pt_change)
)
# Vẽ biểu đồ
ggplot(data, aes(x = ChiTieu, y = GiaTri, fill = Nam)) +
geom_bar(stat = "identity", position = position_dodge(width = 0.7), width = 0.6) +
# Nhãn giá trị
geom_text(aes(label = round(GiaTri, 3)),
position = position_dodge(width = 0.7),
vjust = -0.5, size = 4, fontface = "bold") +
# Nhãn phần trăm thay đổi (trên cột 2025)
geom_text(data = filter(data, Nam == "2025"),
aes(label = paste0(ifelse(PT > 0, "+", ""), PT, "%")),
position = position_dodge(width = 0.7),
vjust = -3.0, size = 3.8, color = "red", fontface = "italic") +
# Tăng giới hạn trục Y để không che mất nhãn
coord_cartesian(ylim = c(0, 70)) +
labs(
title = "SO SÁNH TIÊU HAO TRUNG BÌNH ĐẦU NĂM 2025 VÀ NĂM 2024",
x = "Chỉ tiêu",
y = "Giá trị"
) +
scale_fill_manual(values = c("2024" = "#F28E2B", "2025" = "#4E79A7")) +
theme_minimal(base_size = 13) +
theme(
panel.grid = element_blank(),
axis.line = element_line(color = "black"),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 15),
legend.position = "top",
legend.title = element_blank()
)
##Sản lượng Urea 2024 vs 2025
# Thư viện
library(ggplot2)
library(scales)
# Dữ liệu
data <- data.frame(
Nam = c("2024", "2025"),
SanLuong = c(416501, 416570)
)
# Tính % thay đổi
pt_change <- round((data$SanLuong[2] - data$SanLuong[1]) / data$SanLuong[1] * 100, 3)
# Biểu đồ
ggplot(data, aes(x = Nam, y = SanLuong, fill = Nam)) +
geom_col(width = 0.5, color = "black") +
# Nhãn sản lượng trên mỗi cột
geom_text(aes(label = format(SanLuong, big.mark = ",")),
vjust = -0.5, size = 5, fontface = "bold") +
# Nhãn % thay đổi giữa 2 cột
annotate("text", x = 1.5,
y = max(data$SanLuong) + 20,
label = paste0("Chênh lệch: ", ifelse(pt_change > 0, "+", ""), pt_change, "%"),
color = "red", fontface = "bold", size = 5) +
# Cài đặt trục y
coord_cartesian(ylim = c(415800, 416700)) +
# Nhãn
labs(
title = "SO SÁNH SẢN LƯỢNG UREA CÙNG KỲ 2024-2025",
x = "Năm",
y = "Sản lượng (tấn)"
) +
scale_fill_manual(values = c("2024" = "#F28E2B", "2025" = "#4E79A7")) +
theme_minimal(base_size = 13) +
theme(
panel.grid = element_blank(),
axis.line = element_line(color = "black"),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 15),
legend.position = "none"
)
##### vẽ trend độ dẫn S9
# Thư viện
library(ggplot2)
library(scales)
# Dữ liệu
data <- data.frame(
Ngay = as.Date(c("2025-01-23", "2025-01-30", "2025-02-06", "2025-02-13", "2025-02-20", "2025-02-27",
"2025-03-06", "2025-03-13", "2025-03-20", "2025-03-27", "2025-04-03", "2025-04-10",
"2025-04-17", "2025-04-24", "2025-05-01", "2025-05-08", "2025-05-15", "2025-05-22",
"2025-05-29", "2025-05-30")),
DoDan = c(13.26, 11.15, 10.05, 10.50, 10.27, 11.60, 10.05, 10.35, 13.89, 14.61, 13.61, 11.37, 8.89, 8.96,
17.61, 16.86, 14.92, 17.05, 16.50, 17.00),
NH3 = c(1.75, 1.92, 1.91, 1.89, 2.08, 1.84, 1.91, 2.11, 1.74, 2.34, 1.70, 1.90, 3.19, 3.63, 3.44, 3.66,
3.60, 3.66, 3.65, 3.66)
)
# Biểu đồ
ggplot(data, aes(x = Ngay)) +
# Trục hoành (y = 0) và trục tung (x = ngày đầu tiên)
geom_hline(yintercept = 0, color = "black", linewidth = 0.6) +
geom_vline(xintercept = min(data$Ngay), color = "black", linewidth = 0.6) +
# Đường và điểm độ dẫn
geom_line(aes(y = DoDan, color = "Độ dẫn"), size = 1.2) +
geom_point(aes(y = DoDan), color = "#E15759", size = 2.5) +
geom_text(aes(y = DoDan, label = round(DoDan, 2)),
vjust = -1.2, color = "#E15759", fontface = "bold", size = 3.5) +
# Đường và điểm NH3
geom_line(aes(y = NH3, color = "NH3"), size = 1.2) +
geom_point(aes(y = NH3), color = "#59A14F", size = 2.5) +
geom_text(aes(y = NH3, label = round(NH3, 2)),
vjust = -1.2, color = "#59A14F", fontface = "bold", size = 3.5) +
# Ghi ngày thưa
scale_x_date(date_labels = "%d/%m", breaks = data$Ngay[seq(1, length(data$Ngay), 3)]) +
scale_y_continuous(limits = c(0, 20)) +
scale_color_manual(values = c("Độ dẫn" = "#E15759", "NH3" = "#59A14F")) +
labs(
title = "Trend độ dẫn và nồng độ NH3 sau BDTT 2024",
x = "Thời gian",
y = "Giá trị đo",
color = "Chú thích"
) +
theme_minimal(base_size = 13) +
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text = element_text(face = "bold"),
axis.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", size = 15),
legend.position = "top",
legend.text = element_text(face = "bold")
)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.