Một cánh én nhỏ, chẳng làm nên mùa xuân…

Vẽ đồ thị phân tán minh họa khả năng tách các lớp nền đáy của chỉ số DII  

  RSS

hnthang
(@hnthang)
Estimable Member Admin
Joined:2 years  ago
Posts: 188
07/04/2017 11:32 pm  

Thuận dùng các đoạn mã sau, dán vào trong cửa sổ lệnh (nhấn Ctrl- Shift - N) của RStudio để tạo đồ thị. Sau đó, em có thể xuất thành ảnh hoàn chỉnh với lệnh Export ở cửa sổ Plot phía bên phải của chương trình.

# Thay doi duong dan den thu muc tuong ung voi thu muc cua em
setwd("~/Documents/cauhai")
library(readr)

# Co the dung ten nay hoac doi ten neu muon
dii <- read.csv("substratum.csv")

# Xem cau truc cua du lieu
class(dii)
str(dii)

# Xem bang du lieu
View(dii)

# Ve do thi phan tan giua bang B1 (DII1) va B3 (DII3)
with(dii, plot(B1, B3, pch = as.integer(coden),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey")[coden]))
legend("topleft", as.character(levels(dii$code)), pch = 1:length(levels(dii$code)),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)

# Ve do thi phan tan giua bang B1 (DII1) va B2 (DII2)
with(dii, plot(B1, B2, pch = as.integer(coden),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey")[coden]))
legend("topleft", as.character(levels(dii$code)), pch = 1:length(levels(dii$code)),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)

# Ve do thi phan tan giua bang B2 (DII1) va B3 (DII3)
with(dii, plot(B2, B3, pch = as.integer(coden),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey")[coden]))
legend("topleft", as.character(levels(dii$code)), pch = 1:length(levels(dii$code)),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)
Edited: 11 months  ago

ReplyQuote
thuanbui
(@thuanbui)
Active Member
Joined:1 year  ago
Posts: 10
09/04/2017 10:19 am  

Thầy ơi, vậy giờ e làm sao th. 


ReplyQuote
hnthang
(@hnthang)
Estimable Member Admin
Joined:2 years  ago
Posts: 188
13/04/2017 5:05 pm  

Em kiểm tra lại xem có đánh mã sai không nhé. Thầy làm với tệp em gửi, kết quả xuất ảnh bình thường. Nếu chú giải có kích thước chữ lớn, che phần đồ thi, em bổ sung thêm 1 dòng mã nhỏ như phần trên Thầy đã sửa là được.

Em điều chỉnh giá trị của "cex" để tăng hoặc giảm cỡ chữ.

Đoạn này:

legend("topleft", as.character(levels(dii$code)), pch = 1:length(levels(dii$code)), 
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)

ReplyQuote
hnthang
(@hnthang)
Estimable Member Admin
Joined:2 years  ago
Posts: 188
15/04/2017 3:16 pm  

Em chỉ đơn giản thay một phần trong đoạn mã cũ với thành phần c(....) là được.

Em thay như sau:

Đoạn mã cũ:

legend("topleft", as.character(levels(dii$code)), pch = 1:length(levels(dii$code)), 
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)


Đổi thành:


legend("topleft", c("San Hô", "cobien", "nuocsau", "da-boke","cat1", "cat2","song","rong"),
pch = 1:length(levels(dii$code)),
col = c("red", "green", "blue", "yellow", "orange", "purple",
"firebrick", "darkslategrey"), cex = 0.8, pt.cex = 1)


Em có thể gõ tiếng Việt trong thành phần c(....) cũng được (như từ "San Hô").


ReplyQuote
  
Working

Please Login or Register