library(tidyverse)
library(emuR)
pfad = "/Users/jmh/b/current/abm24/abm_ma"
# write.table(v.fmt, file.path(pfad, "v.fmt.df.txt"), quote=F)
# write.table(v.fmt, file = file.path(pfad, "v.fmt.df.txt"), quote=F)
x.fmt = read.table(file.path(pfad, "v.fmt.df.txt"))
theme_phon = 
function(atextx = 18, atexty = 18, atitlex=
                 18, atitley = 18, ptitle=24, strip.text.x = 24,
             lpos = "bottom", othertext=24, ltitle =24){
        theme(
            axis.text.x = element_text(size=atextx),
            axis.title.x = element_text(size=atitley),
            axis.text.y = element_text(size=atexty),
            axis.title.y = element_text(size=atitley),
            plot.title = element_text(size = ptitle),
            legend.position=lpos,
            legend.title = ltitle,
            strip.text.x =element_text(size=strip.text.x),
            text = element_text(size=othertext))
}
fdat.df = x.fmt
x.fmt = read.table(file.path(pfad, "v.fmt.df.txt"))
temp = x.fmt$labels=="E"
x.fmt$F1[temp] = x.fmt$F1[temp]-1
x.fmt$F2[temp] = x.fmt$F2[temp]-.6
# means of categories
mvowel = x.fmt %>% 
  # select values at temporal midpoint
  filter(times_norm == 0.5) %>%
  filter(labels %in% c("E", "u:")) %>%
  group_by(labels) %>%
  summarise(mF1 = -mean(F1), mF2 = -mean(F2))
 p =  x.fmt %>% 
  # select values at temporal midpoint
  filter(times_norm == 0.5) %>%
  filter(labels %in% c("E", "u:"))
rownames(p) = 1:nrow(p)
lwd = 1.5; cols = c("black", "red")
n =60; k = 44; i = 40; textsize = 60
  m.df =  ggplot(p) +
  aes(y = F1, x = F2, col = labels) +
#  geom_text(label = rownames(p), size=5) +
 geom_point(size=4) + 
 annotate("text", 
           x= -0.260, y = -0.132, 
         label = "ʉ", size = 26, col = "black") +
  annotate("text", 
         x = -1.13, y = -0.462, 
          label = "u", size = 26, col = "red") +
  stat_ellipse(level=.95) +
    coord_cartesian(xlim=c(.5, -2), 
                    ylim=c(1, -1)) +
 # scale_x_reverse(name = "F2 (sd)") +
 # scale_y_reverse(name = "F1 (sd)") +
  theme_light() +
  theme_phon(lpos="top",
             atextx=i,
             atexty=i,
             atitlex=k,
             atitley=k,
             strip.text.x = k,
             ptitle=n,
             ltitle=element_blank(),
             othertext=n) + 
  theme(legend.position="none") +
  scale_colour_manual(values = cols)
 m.df

ggsave(filename = file.path(pfad, "mahal.png"), 
    plot = m.df, 
      width = 45, 
       height = 30, 
   units = "cm")
nums = c(43, 48, 49, 36, 15, 25, 57, 70, 52, 53)
pnew = p
pnew = pnew %>% mutate(
  rnum = rownames(pnew), 
  labels = case_when(rnum %in% nums ~ "u:",
                     T ~ labels))

# means
mvowel2 = pnew %>% 
  group_by(labels) %>%
  summarise(mF1 = -mean(F1), mF2 = -mean(F2))
  m2.df =  ggplot(pnew) +
  aes(y = F1, x = F2, col = labels) +
#  geom_text(label = rownames(p), size=5) +
 geom_point(size=4) + 
 annotate("text", 
           x= -0.227, y = -0.129, 
         label = "ʉ", size = 26, col = "black") +
  annotate("text", 
         x = -1.02, y = -0.405, 
          label = "u", size = 26, col = "red") +
  stat_ellipse(level=.95) +
    coord_cartesian(xlim=c(.5, -2), 
                    ylim=c(1, -1)) +
 # scale_x_reverse(name = "F2 (sd)") +
 # scale_y_reverse(name = "F1 (sd)") +
  theme_light() +
  theme_phon(lpos="top",
             atextx=i,
             atexty=i,
             atitlex=k,
             atitley=k,
             strip.text.x = k,
             ptitle=n,
             ltitle=element_blank(),
             othertext=n) + 
  theme(legend.position="none") +
  scale_colour_manual(values = cols)
 m2.df

ggsave(filename = file.path(pfad, "mahal2.png"), 
    plot = m2.df, 
      width = 45, 
       height = 30, 
   units = "cm")
fdat.m = fdat.df %>%
filter(times_norm==.5) %>%
  filter(speaker == "K67") %>%
  filter(labels %in% c("i:", "o:", "u:")) %>%
  group_by(labels) %>%
  summarise(F1 = mean(F1), F2 = mean(F2))
  cols2 = c("red", "darkgreen", "blue")

m3.df = fdat.df %>%
  filter(times_norm==.5) %>%
  filter(speaker == "K67") %>%
  filter(labels %in% c("i:", "o:", "u:")) %>%
  ggplot +
  aes(y = F1, x = F2, col=labels ) +
  xlab("")+
  ylab("")+
scale_x_reverse() +
scale_y_reverse() +
  annotate("text", 
         y = -0.607, x = 0.990 , 
          label = "i", size = 14, col = "red") +
  annotate("text", 
         y = -0.0121, x = -1.51 , 
          label = "u", size = 14, col = "darkgreen") +
  annotate("text", 
         y = -0.452, x = -1.03 , 
          label = "ju", size = 14, col = "blue") +
  annotate("text", 
         y = .25, x = -.8 , 
          label = "1", size = 14) +
   annotate("text", 
         y = -.01, x = -.5 , 
          label = "2", size = 14) +
  annotate("text", 
         y = -.35, x = -1.1, 
          label = "3", size = 14) +
  annotate("text", 
         y = -.15, x = -1.8, 
          label = "4", size = 14) +
  
  stat_ellipse() + 
  theme_light() +
  theme_phon(lpos="top",
             atextx=i,
             atexty=i,
             atitlex=k,
             atitley=k,
             strip.text.x = k,
             ptitle=n,
             ltitle=element_blank(),
             othertext=n) + 
  theme(legend.position="none", 
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks.y=element_blank()) +
  scale_colour_manual(values = cols2)

m3.df

ggsave(filename = file.path(pfad, "mahal3.png"), 
    plot = m3.df, 
      width = 30, 
       height = 30, 
   units = "cm")
m4.df = fdat.df %>%
  filter(times_norm==.5) %>%
  filter(speaker == "K67") %>%
  filter(labels %in% c("i:", "o:", "u:")) %>%
  ggplot +
  aes(y = F1, x = F2, col=labels ) +
  xlab("")+
  ylab("")+
scale_x_reverse() +
scale_y_reverse() +
  stat_ellipse(linewidth=2) + 
  
  theme_light() +
  theme_phon(lpos="top",
             atextx=i,
             atexty=i,
             atitlex=k,
             atitley=k,
             strip.text.x = k,
             ptitle=n,
             ltitle=element_blank(),
             othertext=n) + 
  theme(legend.position="none", 
        axis.text.x=element_blank(),
        axis.ticks.x=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks.y=element_blank()) +
  scale_colour_manual(values = cols2)

m4.df

ggsave(filename = file.path(pfad, "mahal4.png"), 
    plot = m4.df, 
      width = 30, 
       height = 30, 
   units = "cm")