在 Plotly Frequency Graph 上设置 X 轴范围
Set X Axis Range on Plotly Frequency Graph
考虑下图:
library(dplyr)
library(plotly)
x <- c(1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 8, 8, 8, 10, 10)
y <- as.data.frame(table(x))
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar')
我想利用这张图生成一张类似的图,其中列出的值 7 和 9 的频率为零。有没有办法获得像 seq(0, 10, 1)
这样的序列的频率计数,其中 7 和 9 将显示为 0 的频率,或者有没有办法可以将我的绘图上的 x 轴设置为从 0 到10 即使我的数据中没有所有数字?
我试过了
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar') %>%
layout(xaxis = list(autotick = FALSE, tick0 = 0, tickd = seq(0, 10, 1))
还有
layout(xaxis = list(autotick = FALSE, tick0 = 0, tickd = c(0,10))
但两者似乎都没有改变任何东西。
我希望我想要的输出如下所示:
请注意,这只是一个小样本,我的实际数据会更大。因此,像循环数据和计算每个数字这样的事情会太慢。
一个简单的解决方案是将 x
转换为水平从 1 到 10 的因子。
library(dplyr)
library(plotly)
x <- c(1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 8, 8, 8, 10, 10)
x <- factor(x, levels=1:10)
y <- as.data.frame(table(x))
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar')
考虑下图:
library(dplyr)
library(plotly)
x <- c(1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 8, 8, 8, 10, 10)
y <- as.data.frame(table(x))
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar')
我想利用这张图生成一张类似的图,其中列出的值 7 和 9 的频率为零。有没有办法获得像 seq(0, 10, 1)
这样的序列的频率计数,其中 7 和 9 将显示为 0 的频率,或者有没有办法可以将我的绘图上的 x 轴设置为从 0 到10 即使我的数据中没有所有数字?
我试过了
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar') %>%
layout(xaxis = list(autotick = FALSE, tick0 = 0, tickd = seq(0, 10, 1))
还有
layout(xaxis = list(autotick = FALSE, tick0 = 0, tickd = c(0,10))
但两者似乎都没有改变任何东西。
我希望我想要的输出如下所示:
请注意,这只是一个小样本,我的实际数据会更大。因此,像循环数据和计算每个数字这样的事情会太慢。
一个简单的解决方案是将 x
转换为水平从 1 到 10 的因子。
library(dplyr)
library(plotly)
x <- c(1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 8, 8, 8, 10, 10)
x <- factor(x, levels=1:10)
y <- as.data.frame(table(x))
y %>%
plot_ly(x = ~ x,
y = ~ Freq,
type = 'bar')