我需要在X上绘图(使用的应用程序(“ facebook”,“ tweeter” ...)),并在Y轴上花费时间。 我必须订购X轴通过Y轴。 我该怎么办?
我尝试了以下方法:
data_df <- Original_dataFrame%>%
dplyr::select(Applications,Time_Spend) %>%
dplyr::group_by(Applications,Time_Spend)%>%
arrange(Applications,Time_Spend)
plot_ly(data_df, y=~Time_Spend,x = ~Applications, type = 'scatter', mode = 'lines')
答案 0 :(得分:0)
这是一种具有基本R图形和语法的方法(此处没有magrittr管道或plot_ly):
假设您有应用程序x
和time_spend y
。
首先,创建一些示例数据:
set.seed(123)
x <- letters[1:10]
y <- sample(101:200, 10)
# x y
#1 a 129
#2 b 179
#3 c 141
#4 d 186
#5 e 191
#6 f 105
#7 g 150
#8 h 183
#9 i 151
#10 j 142
接下来,按时间顺序绘制time_spend(y
)。通过将x参数设为x=seq_along(y)
,我将使用等水平间隔的点进行此操作。我还将省略xaxt="n"
的x轴标签:
plot(x=seq_along(y), y=sort(y), xaxt="n", xlab="x", ylab="y")
现在,我将沿x轴添加标签,以便标签与绘制的数据匹配:
axis(side=1, at=seq_along(y), labels=x[order(y)])
答案 1 :(得分:0)
如果要通过plotly渲染图。
reorder()
排序)ggplotly
进行图形渲染,以转换ggplot对象代码
library(tidyverse)
library(plotly)
set.seed(123)
x <- letters[1:10]
y <- sample(101:200, 10)
df <-tibble(x = x, y = y)
g<- ggplot(df, aes(x=reorder(x, y , mean), y =y )) + geom_point()
ggplotly(g)