绘制切断 X 和 Y 标签

Posted

技术标签:

【中文标题】绘制切断 X 和 Y 标签【英文标题】:Plotly cutting off X and Y labels 【发布时间】:2018-08-23 15:07:45 【问题描述】:

我有一个用 plotly 创建的情节。当我将它部署到我闪亮的应用程序时,X 和 Y 标签被切断,如下所示:

如何防止这种情况发生?如果我使用普通绘图,标签不会被截断,但我需要绘图是交互式的。

这是我创建情节的代码:

ui.r:

#creating app with shiny
library(shiny)
library(shinydashboard)

shinyUI(
  dashboardPage(
  dashboardHeader(title = "Dashboard"),
  dashboardSidebar(
  menuItem("Dashboard")
),
dashboardBody(
  fluidPage(
    box(plotlyOutput("bakePlot")),
    box(plotOutput("bakeMonthly"))
  )
)
)
)

server.r:

shinyServer(function(input, output)

output$bakePlot <- renderPlotly(
ggplot(sales_bakery, aes(ProductName, ProductSales))+ 
stat_summary(fun.y=sum,geom="bar",colour="red",fill="red",show.legend = FALSE) +
coord_cartesian(ylim = c(7000, 9500)) + ggtitle("January Sales in Bakery") + 
xlab("Category") + ylab("Quantity Sold")+
  theme(
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.text.x = element_text(angle = 60, hjust = 1),
        axis.text.y = element_text(colour = "black", size = 14),
        panel.background = element_rect(fill = "white"),
        panel.grid.minor = element_blank(),
        panel.grid.major = element_blank(),
        axis.line = element_line(colour = "black", size = 1),
        legend.position = "none",
        plot.title = element_text(lineheight = 1.8, face = "bold"))
) 

【问题讨论】:

也许增加情节边距,例如+ theme(plot.margin = unit(c(1, 1, 1, 2), "cm"))?最后一个数字是左边距,你可能想玩弄它。 【参考方案1】:

您可以通过设置绘图的边距来解决此问题

plot_ly(
    ...
  ) %>%
    layout(
      margin = list(b = 50, l = 50) # to fully display the x and y axis labels
    )

【讨论】:

以上是关于绘制切断 X 和 Y 标签的主要内容,如果未能解决你的问题,请参考以下文章

图形和图例之间的空间太大,x 标签也会被切断

matlab绘制figure的x y轴特殊标签数据

matlab绘制figure的x y轴特殊标签数据

Matplotlib 在所有子图上显示 x-ticks 和唯一的 y 标签

1.基础知识 --Matlab绘制特殊的图形

ggplot2:x 和 y 轴带有黑色标签的经典绘图