diff --git a/src/ch04-03-slices.md b/src/ch04-03-slices.md
index 77b4cab..5fceabd 100644
--- a/src/ch04-03-slices.md
+++ b/src/ch04-03-slices.md
@@ -78,15 +78,15 @@ fn second_word(s: &String) -> (usize, usize) {
不同于整个 `String` 的引用,`hello` 是一个部分 `String` 的引用,由一个额外的 `[0..5]` 部分指定。可以使用一个由中括号中的 `[starting_index..ending_index]` 指定的 range 创建一个 slice,其中 `starting_index` 是 slice 的第一个位置,`ending_index` 则是 slice 最后一个位置的后一个值。在其内部,slice 的数据结构存储了 slice 的开始位置和长度,长度对应于 `ending_index` 减去 `starting_index` 的值。所以对于 `let world = &s[6..11];` 的情况,`world` 将是一个包含指向 `s` 索引 6 的指针和长度值 5 的 slice。
-图 4-6 展示了一个图例。
+图 4-7 展示了一个图例。
+src="img/trpl04-07.svg" class="center" style="width: 50%;" />
-图 4-6:引用了部分 `String` 的字符串 slice
+图 4-7:引用了部分 `String` 的字符串 slice
对于 Rust 的 `..` range 语法,如果想要从索引 0 开始,可以不写两个点号之前的值。换句话说,如下两个语句是相同的: