如何在ggplotly中改变宽度和高度?
如果我们使用ggplot,它可以使用ggsave
ggsave(filename = "foo300.png", ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(size=2, shape=23) + theme_bw(base_size = 10),
width = 5, height = 4, dpi = 300, units = "in", device='png')
我在用
htmltools::browsable(gg[[i]])
htmltools::save_html(gg[[i]],path)
要么
htmlwidgets::saveWidget(print(gg[[i]]), path)
打印图形并保存HTML,但图形太小,有些单词重叠,但我想要一个大字体,所以我希望改变图形的大小。
我知道plolty可以用它来改变宽度和高度。
library(plotly)
m <- list(
l = 50,
r = 50,
b = 100,
t = 100,
pad = 4
)
p <- plot_ly(x = seq(0, 8), y = seq(0, 8)) %>%
layout(autosize = F, width = 500, height = 500, margin = m)
这是我的样本数据集。
d1 <-
data.frame(col_one = c(1, 2, 3, 3),
col_two = c("aa", "bb", "aa", "bb"))
d2 <-
data.frame(col_one = c(1, 1, 1, 6),
col_two = c("bb", "aa", "aa", "bb"))
d3 <-
data.frame(col_one = c(7, 1, 1, 4),
col_two = c("cc", "aa", "bb", "bb"))
my.list <- list(d1, d2, d3)
f <- function(table) {
table <- mapply(function(data, count) {
sql <-
sqldf(
paste0(
"select *,count(col_one) as count from data where col_one = ",
count,
" group by col_one,col_two"
)
)
}, my.list, 1,
SIMPLIFY = FALSE)
print(table)
return (table)
}
f(table = my.list)
f2 <- function(table) {
num <- length(table)
chart <- vector(num, mode = "list")
plotly <- vector(num, mode = "list")
for (i in 1:length(table)) {
chart[[i]] <- ggplot(data = table[[i]],
aes(x = col_two,
y = count,
fill = col_two)) +
geom_bar(stat = "identity", width = 0.3)
#print(chart[[2]])
plotly[[i]] <- ggplotly(chart[[i]])
}
return(plotly)
}
f2(f(table = my.list))
save <- function (gg) {
num <- length(gg)
print_gg <- vector(num, mode = "list")
dir <- "~/test/aa"
for (i in 1:length(gg)) {
path <- paste0(dir, i)
htmltools::browsable(gg[[i]])
htmltools::save_html(gg[[i]],path)
#htmlwidgets::saveWidget(print(gg[[i]]), path)
}
}
save(f2(f(table = my.list)))
我也搜索了这段代码,但我只是想改变宽度和高度。我必须先装箱小工具吗?有没有简单的方法来改变宽度和高度?
htmlwidgets::createWidget(
"sigma",
x,
width = width,
height = height,
sizingPolicy = htmlwidgets::sizingPolicy(
viewer.padding = 0,
viewer.paneHeight = 500,
browser.fill = TRUE
)
)
如果我在图表中将ggplot更改为ggplotly,我应该添加宽度或高度?有没有简单的方法来改变宽度和高度?
我不确定这是你想要的,但这是我的看法:
使用您的示例创建一个ggplot2
图形,然后将其转换为plotly
对象。
gg <- ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(size=2, shape=23) + theme_bw(base_size = 10)
g <- ggplotly(gg)
要更改图形的大小,请按照plotly
的惯例进行操作。
m <- list(
l = 50,
r = 50,
b = 100,
t = 100,
pad = 4
)
h <- g %>%
layout(autosize = F, width = 500, height = 500, margin = m)
然后你可以保存为HTML文档:
htmltools::save_html(h,"index.html")