Compare commits

..

3 commits

Author SHA1 Message Date
Simon
9dc0427f33 Align battleships on shared coordinates
All checks were successful
Build and deploy the book / book (push) Successful in 5s
Build and deploy the book / book (pull_request) Successful in 5s
2026-08-20 20:05:35 +01:00
Simon
d99684061f minor esthetics change on chapter 6 figures
All checks were successful
Build and deploy the book / book (push) Successful in 5s
Build and deploy the book / book (pull_request) Successful in 5s
2026-08-20 11:24:05 +01:00
Simon
3f396c1492 Refine pottery seriation figure
All checks were successful
Build and deploy the book / book (push) Successful in 5s
2026-08-20 11:22:31 +01:00
6 changed files with 114 additions and 31 deletions

View file

@ -9,15 +9,37 @@ CV transmission etc..
Figure 6.4 Figure 6.4
kroeber seriation: kroeber seriation:
<div class="pottery-gallery" aria-label="Examples of the three pottery types">
<figure>
<img src="images/chapter-6/black-on-red.jpg" alt="Tusayan Black-on-Red bowl viewed from above">
<figcaption>Black-on-Red</figcaption>
</figure>
<figure>
<img src="images/chapter-6/three-color.jpg" alt="Fourmile Polychrome bowl">
<figcaption>Three-Color</figcaption>
</figure>
<figure>
<img src="images/chapter-6/corrugated.jpg" alt="Corrugated pottery jar from New Mexico">
<figcaption>Corrugated</figcaption>
</figure>
</div>
<p class="pottery-credit">
Images from Wikimedia Commons:
<a href="https://commons.wikimedia.org/wiki/File:Grand_Canyon_Tusayan_Black_on_Red_bowl.jpg">Tusayan Black-on-Red bowl</a>, Grand Canyon National Park, CC BY 2.0;
<a href="https://commons.wikimedia.org/wiki/File:Fourmile_Polychrome_Bowl,_Anasazi_(Native_American),_1350-1400_C.E.,_02.257.2562.jpg">Fourmile Polychrome bowl</a>, Riggs Pueblo Pottery Fund, no known restrictions;
<a href="https://commons.wikimedia.org/wiki/File:Corrugated_Jar,_950%E2%80%931200_AD,_New_Mexico.jpg">Corrugated jar</a>, Netherzone, CC BY-SA 4.0.
</p>
```{r battleship-seriation, fig.width=7.2, fig.height=4.8, fig.cap=""} ```{r battleship-seriation, fig.width=7.2, fig.height=4.8, fig.cap=""}
dt <- data.frame( dt <- data.frame(
"Black-on-Red" = c(1,2, 2, 2, 3, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0), "Black-on-Red" = c(2, 4, 3, 3, 2, 4, 3, 9, 2, 6, 5, 3, 7, 0, 0, 0),
"Three-Color" = c(0,0, 0, 0, 0, 0, 1, 1, 3, 4, 3, 2, 0, 0, 0, 0), "Three-Color" = c(14, 10, 9, 9, 5, 5, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0),
"Corrugated" = c(1,1, 0, 1, 2, 3, 2, 7, 4, 7, 9, 10, 11, 10, 15, 20), "Corrugated" = c(0, 1, 0, 2, 2, 3, 4, 9, 22, 24, 11, 36, 44, 59, 63, 64),
check.names = FALSE check.names = FALSE
) ) #these data are not he original but estimated from the image in Lyman and Harpole 2002
rownames(dt) <- rownames(dt) <-
c( "Zuni", rev( c( "Zuni",
"Towway", "Towway",
"Kolliwa", "Kolliwa",
"Shunnte", "Shunnte",
@ -33,53 +55,66 @@ rownames(dt) <-
"Te\'alla", "Te\'alla",
"Site X", "Site X",
"Tetlnat" "Tetlnat"
) ))
ship_cols <- c("#8c6bb1", "#1f77b4", "#ff7f0e") ship_cols <- c("#8c6bb1", "#1f77b4", "#ff7f0e")
series_col <- ncol(dt) series_col <- ncol(dt)
n_phase <- nrow(dt) n_phase <- nrow(dt)
dt_pct <- sweep(as.matrix(dt), 2, colSums(as.matrix(dt)), "/") * 100
par(mfrow = c(1, 3), las = 1, bty = "n", mar = c(0,0, 3,0), oma = c(0, 6, 0, 0),xpd=NA)
phase_axis <- seq_len(n_phase) phase_axis <- seq_len(n_phase)
phase_labels <- rownames(dt) phase_labels <- rownames(dt)
series_center <- seq_len(series_col)
max_ship_width <- 5
ship_widths <- as.matrix(dt) / max(dt[, "Corrugated"]) * max_ship_width
plot_left <- series_center[3] - max_ship_width / 2
plot_right <- series_center[3] + max_ship_width / 2
par(las = 1, bty = "n", mar = c(1, 7, 3, 1), xpd = NA)
plot(
NA,
xlim = c(0, plot_right),
ylim = c(0.5, n_phase + 1.5),
axes = FALSE,
xlab = "",
ylab = ""
)
for (s in seq_len(series_col)) { for (s in seq_len(series_col)) {
plot(
NA,
xlim = c(-(max(dt_pct[,s]/2)),max(dt_pct[,s]/2)),
ylim = c(0.5, n_phase + 0.5),
axes = FALSE,
xlab = "Width = relative frequency (%)",
ylab = "",
main = colnames(dt)[s]
)
for (r in phase_axis) { for (r in phase_axis) {
chip_bottom <- (n_phase - r) + 0.55 chip_bottom <- (n_phase - r) + 0.55
chip_top <- (n_phase - r) + 1.45 chip_top <- (n_phase - r) + 1.45
chip_width <- dt_pct[r, s] chip_width <- ship_widths[r, s]
rect( rect(
-chip_width / 2, series_center[s] - chip_width / 2,
chip_bottom, chip_bottom,
chip_width / 2, series_center[s] + chip_width / 2,
chip_top, chip_top,
col = ship_cols[s], col = ship_cols[s],
border = "white" border = "white"
) )
} }
if(s==1)
text(-(max(dt_pct[,s]/2)),seq((0.55+1.45)/2, (0.55+1.45)/2*n_phase ,length.out=n_phase),phase_labels,pos=2,font=2,cex=1.2)
} }
text(
series_center,
n_phase + 1.1,
labels = colnames(dt),
font = 2,
cex = 0.9
)
text(
plot_left,
n_phase - phase_axis + 1,
labels = phase_labels,
pos = 2,
font = 2,
cex = 0.9
)
``` ```
A more common wa to represent tht would be to plot the freuecny through time, using A more common wa to represent tht would be to plot the freuecny through time, using
```{r} ```{r}
matplot(cbind(1:nrow(dt) ,1:nrow(dt) ,1:nrow(dt)) ,dt,type="l",lwd=3,col=ship_cols,lty=1,ylab="frequency",xlab="time") matplot(cbind(1:nrow(dt) ,1:nrow(dt) ,1:nrow(dt)) ,dt,type="l",lwd=3,col=ship_cols,lty=1,ylab="frequency",xlab="time")
``` ```
This should remind you of the plot about changes in allele frequency seen in Chapter 3, we will see later how we can use these describption of the data to test hypothese about the cultural transmission process. This should remind you of the plot about changes in allele frequency seen in Chapter 3, we will see later how we can use these description of the data to test hypotheses about the cultural transmission process.

View file

@ -1,5 +1,6 @@
bookdown::gitbook: bookdown::gitbook:
css: book.css css: book.css
code_folding: hide
split_by: section split_by: section
config: config:
toc: toc:
@ -23,4 +24,3 @@ bookdown::gitbook:
facebook: false facebook: false
twitter: false twitter: false
all: false all: false

View file

@ -180,6 +180,43 @@ body,
box-shadow: 0 1rem 2.5rem rgba(32, 44, 42, 0.12); box-shadow: 0 1rem 2.5rem rgba(32, 44, 42, 0.12);
} }
.pottery-gallery {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
align-items: end;
margin: 2rem 0 0.75rem;
}
.pottery-gallery figure {
margin: 0;
text-align: center;
}
.pottery-gallery img {
width: 100%;
height: 180px;
object-fit: contain;
background: transparent;
box-shadow: none !important;
}
.pottery-gallery figcaption {
margin-top: 0.65rem;
color: var(--teal-dark);
font-family: "Fraunces", serif;
font-size: 1.1rem;
font-weight: 700;
}
.pottery-credit {
margin: 0 0 2rem;
color: var(--muted);
font-size: 0.72rem;
line-height: 1.5;
text-align: center;
}
.book .book-header.fixed { .book .book-header.fixed {
background: rgba(247, 241, 229, 0.92); background: rgba(247, 241, 229, 0.92);
border-bottom: 1px solid rgba(216, 203, 184, 0.7); border-bottom: 1px solid rgba(216, 203, 184, 0.7);
@ -194,5 +231,16 @@ body,
.book .book-body .page-wrapper .page-inner section.normal h1 { .book .book-body .page-wrapper .page-inner section.normal h1 {
font-size: 2.6rem; font-size: 2.6rem;
} }
}
.pottery-gallery {
gap: 0.4rem;
}
.pottery-gallery img {
height: 105px;
}
.pottery-gallery figcaption {
font-size: 0.82rem;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB