Различия
Здесь показаны различия между двумя версиями данной страницы.
classifydiag:amp_al_feticr [2017/03/27 09:59] admin |
classifydiag:amp_al_feticr [2018/11/12 15:07] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Amp: Testing plot for monomineral P sensor ====== | ||
- | Plot Amp in Al6 - Fe3+Ti+Cr space. For [[sensors:p:amp_simakin]]. | ||
- | |||
- | === Details === | ||
- | |||
- | | Reference | | | ||
- | | Data | mineral | | ||
- | | Input | wtp | | ||
- | |||
- | <use:classifydiag.amp_al_feticr> | ||
- | <test:classifydiag.amp_al_feticr> | ||
- | |||
- | <WRAP center round todo 60%> | ||
- | * <del>заголовок</del> | ||
- | * <del>краткое описание</del> | ||
- | * статья | ||
- | * ссылка | ||
- | * карточка | ||
- | * подробное описание | ||
- | * <del>код</del> | ||
- | * тест | ||
- | </WRAP> | ||
- | |||
- | === Код метода === | ||
- | |||
- | <Code linenums lang-r> | ||
- | source('recalc_amp_13ecnk.r'); | ||
- | |||
- | classifydiag.amp_al_feticr <- function (wtp_data, annotate=T, ...){ | ||
- | |||
- | ds <- selectNames(recalc.amp_13ecnk(wtp_data), | ||
- | c("Name", "Al_c6_pfu", "Fe_p3_pfu", "Ti_C_pfu", "Cr_C_pfu")); | ||
- | |||
- | pts <- data.frame(Name=ds$Name, | ||
- | X=ds$Fe_p3_pfu + ds$Ti_C_pfu + ds$Cr_C_pfu, | ||
- | Y=ds$Al_c6_pfu); | ||
- | |||
- | marks <- data.frame(Label=c("Key point\n(1.8,0)"), | ||
- | X=c(1.8), | ||
- | Y=c(0.0)); | ||
- | |||
- | ds$P <- 16.051*(1.8*ds$Al_c6_pfu/(1.8-ds$Fe_p3_pfu-ds$Ti_C_pfu-ds$Cr_C_pfu))-7.819; | ||
- | |||
- | maxpoint <- ds[ds$P == max(ds$P),] | ||
- | |||
- | spoints <- ds[maxpoint$P-ds$P < 1,] | ||
- | |||
- | model <- lm(Fe_p3_pfu+Ti_C_pfu+Cr_C_pfu~Al_c6_pfu,spoints) | ||
- | mb <- model$coefficients[1] | ||
- | mk <- model$coefficients[2] | ||
- | |||
- | limits <- c(0,3,-5,5); | ||
- | |||
- | scale <- 1.8/(1.8 - (maxpoint$Fe_p3_pfu + maxpoint$Ti_C_pfu + maxpoint$Cr_C_pfu)) | ||
- | |||
- | mpX <- maxpoint$Fe_p3_pfu + maxpoint$Ti_C_pfu + maxpoint$Cr_C_pfu | ||
- | mpY <- maxpoint$Al_c6_pfu | ||
- | |||
- | lines <- data.frame(X1 = c(mpX, 0, 0), | ||
- | Y1 = c(mpY, scale*mpY, mb), | ||
- | X2 = c(1.8, mpX, 2), | ||
- | Y2 = c(0, mpY, mk*2+mb)); | ||
- | |||
- | labels <- c(paste0("Fe3+Ti+Cr",toString(mb),toString(mk)), "Al6"); | ||
- | |||
- | ret <- c(); | ||
- | |||
- | ret$type <- "diagram"; | ||
- | ret$points <- pts; | ||
- | ret$limits <- limits; | ||
- | ret$lines <- lines; | ||
- | ret$marks <- marks; | ||
- | ret$labels <- labels; | ||
- | |||
- | return(ret); | ||
- | } | ||
- | </Code> | ||
- | |||
- | {{tag>classifydiag mineral}} |