我有几个组,每个组有几个类,我测量了连续值:
set.seed(1)
df <- data.frame(value = c(rnorm(100,1,1), rnorm(100,2,1), rnorm(100,3,1),
rnorm(100,3,1), rnorm(100,1,1), rnorm(100,2,1),
rnorm(100,2,1), rnorm(100,3,1), rnorm(100,1,1)),
class = c(rep("c1",100), rep("c2",100), rep("c3",100),
rep("c2",100), rep("c4",100), rep("c1",100),
rep("c4",100), rep("c3",100), rep("c2",100)),
group = c(rep("g1",300), rep("g2",300), rep("g3",300)))
df$class <- factor(df$class, levels =c("c1","c2","c3","c4"))
df$group <- factor(df$group, levels =c("g1","g2","g3"))
Run Code Online (Sandbox Code Playgroud)
并非数据中的每个组都具有相同的类,或者换句话说,每个组都具有所有类的子集。
我试图R plotly为每个组生成密度曲线,按类别进行颜色编码,然后使用plotlyssubplot函数将它们全部组合成一个图。
这就是我正在做的:
library(dplyr)
library(ggplot2)
library(plotly)
set.seed(1)
df <- data.frame(value = c(rnorm(100,1,1), rnorm(100,2,1), rnorm(100,3,1),
rnorm(100,3,1), rnorm(100,1,1), rnorm(100,2,1),
rnorm(100,2,1), rnorm(100,3,1), rnorm(100,1,1)),
class = c(rep("c1",100), rep("c2",100), rep("c3",100),
rep("c2",100), rep("c4",100), rep("c1",100),
rep("c4",100), rep("c3",100), rep("c2",100)),
group …Run Code Online (Sandbox Code Playgroud) 使用R plotly包创建时,从data.frame创建的两个单独的图表正常工作.
但是,我不确定如何将它们组合成一个(大概是使用add_trace函数)
df <- data.frame(season=c("2000","2000","2001","2001"), game=c(1,2,1,2),value=c(1:4))
plot_ly(df, x = game, y = value, mode = "markers", color = season)
plot_ly(subset(df,season=="2001"), x = game, y = value, mode = "line")
Run Code Online (Sandbox Code Playgroud)
提前致谢
有什么方法可以使用可绘制的3D绘制类似椭球的表面吗?
目前在文档中仅讨论z = f(x,y)形式的曲面。还有Mesh 3D,但我没有找到任何示例。似乎可以手动进行椭球的三角剖分,然后使用“网格”获取椭球,但这对我来说似乎有点困难。有什么更好的方法吗?
library(ggplot2)
library(plotly)
gg <- ggplot(mtcars, aes(factor(vs), drat)) +
geom_violin() +
geom_jitter()
ggplotly(gg)
Run Code Online (Sandbox Code Playgroud)
在示例代码中,我们用于ggplot绘制小提琴和抖动层。Plotly显示两层的信息(即,当悬停在抖动点上时,它将显示特定的点信息,当悬停在小提琴图上时也会发生相同的情况)。但是,我只想plotly显示信息geom_jitter。
问题:如何禁用特定层的悬停信息?
> plot_data
cs w u
1 0 0.0 1.00000000
2 125 0.5 1.23818786
3 250 1.0 4.15500984
4 375 1.5 1.41931096
5 500 2.0 0.51660657
6 625 2.5 0.29800493
7 750 3.0 0.20846944
8 875 3.5 0.16441816
9 1000 4.0 0.14116564
10 1125 4.5 0.12890978
#Scatter PLot
p <- plot_ly(x=plot_data$cs,y=plot_data$w,z=plot_data$u)
p
Run Code Online (Sandbox Code Playgroud)
plot_data是具有三个变量的数据框..使用plot_ly函数可以获得3d散点图..如何对与曲面图查找矩阵相同的变量进行曲面图以及如何创建该矩阵。
我有一个数据框,我试图使用plotly作为多折线图来绘制它。下面是数据框的样子:
Month_considered pct.x pct.y pct
<fct> <dbl> <dbl> <dbl>
1 Apr-17 79.0 18.4 2.61
2 May-17 78.9 18.1 2.99
3 Jun-17 77.9 18.7 3.42
4 Jul-17 77.6 18.5 3.84
5 Aug-17 78.0 18.3 3.70
6 Sep-17 78.0 18.9 3.16
7 Oct-17 77.6 18.9 3.49
8 Nov-17 77.6 18.4 4.01
9 Dec-17 78.5 18.0 3.46
10 Jan-18 79.3 18.4 2.31
11 2/1/18 78.9 19.6 1.48
Run Code Online (Sandbox Code Playgroud)
当我迭代绘制多条线时,下面是使用的代码。
colNames <- colnames(delta)
p <-
plot_ly(
atc_seg_master,
x = ~ Month_considered,
type = 'scatter',
mode …Run Code Online (Sandbox Code Playgroud) 我一直在尝试更改在 R 中使用plot_ly绘制的图形的x和y轴上标签的大小。
下面是我的代码:
q <- plot_ly(
x=colnames(avg_exp_norm),
y=row.names(avg_exp_norm),
z = avg_exp_norm, type = "heatmap") %>%
layout(xaxis = list(size = 15), yaxis = list(size = 5))
q
Run Code Online (Sandbox Code Playgroud)
但它不起作用,结果我没有看到字体大小有任何变化。
我做错了什么,我该如何解决?
我在ggplot2 3.0.0中使用plotly 4.8,并尝试向散点图添加文本标签并使其对齐。但是,似乎该hjust参数已被忽略geom_text(aes(....), hjust = "left")。(也尝试过hjust = 0。)
GGPLOT输出
看到它在绘图窗口中以ggplot对齐,标签保持对齐。
全面输出
但是,对齐方式在转换中丢失,并且文本居中。
因此,问题是,是否有可能通过情节修复这种对齐方式?
测试示例代码
library(ggplot2)
library(data.table)
library(plotly)
data(mtcars)
plotdata <- as.data.table(mtcars)
plotdata$carname <- rownames(mtcars)
# take a small demo subset
plotdata <- plotdata[1:10,]
gg <- ggplot(plotdata, aes(x = wt, y = mpg, label = carname)) +
geom_point() + theme_minimal()
gg <- gg + geom_text(aes(label = carname),
size = 2,
hjust = "left")
print(gg)
# convert ggplot
p <- ggplotly(gg)
p
Run Code Online (Sandbox Code Playgroud) 我试图通过在 plotly 的交互式图例中取消选择来找出用户从散点图中隐藏了哪些痕迹。
我已经阅读了这篇SO post,以及下面评论中链接的类似问题,这让我更接近解决方案
当前的解决方案只是部分地做我需要的。我正在寻找改进它的两件事是: - 如何查看哪个图的图例被点击(查看源“id”?) - 我现在可以看到图例条目被点击,但我需要能够看到是否单击“ON”(显示轨迹)或“OFF”
我正在寻找的输出看起来像这样:
input$trace_plot1: 然后是所有关闭和打开的跟踪的列表,或者每次单击时的单个跟踪 nr 但它表明该特定跟踪现在是否“打开”或“关闭”
我的目标是将视觉隐藏和显示链接到数据中我所有组的概览,用户现在可以在其中为他们提供新的名称、颜色,并选择使用带有 T/ 的按钮保留或删除组F 状态开关在它后面。我想将按钮的 T/F 状态链接到特定图的“显示”/“隐藏”轨迹(因为我的应用程序中有 5 个这些图的副本,显示了分析过程不同阶段的数据.
这是我的尝试,它不会以某种方式对传说做出反应,只是放大:
library(plotly)
library(shiny)
library(htmlwidgets)
js <- c(
"function(el, x){",
" el.on('plotly_legendclick', function(evtData) {",
" Shiny.setInputValue('trace', evtData.data[evtData.curveNumber].name);",
" });",
"}")
iris$group <- c(rep(1,50), rep(2, 50), rep(3,50))
ui <- fluidPage(
plotlyOutput("plot1"),
plotlyOutput("plot2"),
verbatimTextOutput("legendItem")
)
server <- function(input, output){
output$plot1 <- renderPlotly({
p <- plot_ly(source = 'plotly1', data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = …Run Code Online (Sandbox Code Playgroud) 我有一个如上图所示的图表。可重用代码如下。
plotly::ggplotly(ggplot(dplyr::as_tibble(rnorm(1000)), aes(value)) + stat_ecdf(geom = 'line'))
Run Code Online (Sandbox Code Playgroud)
我想在悬停时重命名和格式化工具提示。例如,x 轴或“价值”(在图表中)可以是“单位价格?” 而 y 轴是累积分布。
因此,当我将鼠标悬停在线上时,我希望能够看到如下所示的内容
累积分布:78.2%
单价:?0.81
谢谢!