使用 C3 添加值时 Y 轴标签消失
Y-axis labels disappear when add values using C3
如果我不尝试明确说明 y 轴的值,C3 图表会打印 OK。但是,我发现标签很乱。
如果我尝试强制使用 y 轴标签值,则不会打印任何标签。
然而,第三个示例表明它们可以工作。
为什么它们在示例 #2 中不起作用?
R 脚本
library("c3")
library("tidyverse")
df <- structure(list(Date = structure(c(18503, 18504, 18505, 18506,
18507, 18508, 18509, 18510, 18511, 18512, 18513, 18514, 18515,
18516, 18517, 18518, 18519), class = "Date"), A = c(1.6, 1.6,
1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6, 1.6), B = c(1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8), C = c(1.75, 1.75, 1.75,
1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 1.75, 1.75), D = c(1.75, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75
), E = c(1.75, 1.75, 1.75, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6)), row.names = c(NA, -17L), class = c("tbl_df",
"tbl", "data.frame"))
# Example 1 ###############################
# Y-axis labels are there, but messy
df %>%
c3()
# Example 2 ###############################
# No Y-axis labels
df %>%
c3() %>%
tickAxis('y', values = c(0, 1, 2))
# Example 3 ###############################
# Clean Y-axis labels
data.frame(a = c(1,2,3,2), b = c(2,4,1,5)) %>%
c3() %>%
tickAxis('y', values = c(1, 2, 3, 4, 5))
它确实有效。您的 min
y 轴值为 1.58
,max
为 1.8
。因为你给了 c(0,1,2)
,它没有显示在图中,因为它被放大了。
尝试以下值,您将看到轴值。
df %>%
c3() %>%
tickAxis('y', values = c(1.6,1.65,1.7,1.8,1.81))
输出:
如果我不尝试明确说明 y 轴的值,C3 图表会打印 OK。但是,我发现标签很乱。
如果我尝试强制使用 y 轴标签值,则不会打印任何标签。
然而,第三个示例表明它们可以工作。
为什么它们在示例 #2 中不起作用?
R 脚本
library("c3")
library("tidyverse")
df <- structure(list(Date = structure(c(18503, 18504, 18505, 18506,
18507, 18508, 18509, 18510, 18511, 18512, 18513, 18514, 18515,
18516, 18517, 18518, 18519), class = "Date"), A = c(1.6, 1.6,
1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6, 1.6), B = c(1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8), C = c(1.75, 1.75, 1.75,
1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 1.75, 1.75), D = c(1.75, 1.75, 1.75, 1.75, 1.75, 1.75,
1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75
), E = c(1.75, 1.75, 1.75, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6)), row.names = c(NA, -17L), class = c("tbl_df",
"tbl", "data.frame"))
# Example 1 ###############################
# Y-axis labels are there, but messy
df %>%
c3()
# Example 2 ###############################
# No Y-axis labels
df %>%
c3() %>%
tickAxis('y', values = c(0, 1, 2))
# Example 3 ###############################
# Clean Y-axis labels
data.frame(a = c(1,2,3,2), b = c(2,4,1,5)) %>%
c3() %>%
tickAxis('y', values = c(1, 2, 3, 4, 5))
它确实有效。您的 min
y 轴值为 1.58
,max
为 1.8
。因为你给了 c(0,1,2)
,它没有显示在图中,因为它被放大了。
尝试以下值,您将看到轴值。
df %>%
c3() %>%
tickAxis('y', values = c(1.6,1.65,1.7,1.8,1.81))
输出: