我正在使用一个名称非常长且超过 25 个字符的数据框。我试图用所有这些组织的名称制作一个条形图(用绘图),但名称被切断,因为它们太长了。我已经尝试过如下的边缘:
plot_ly(x = number, y = org_name, type = 'bar') %>%
layout(margin = list(l = 150))
Run Code Online (Sandbox Code Playgroud)
它可以工作,但条形图看起来不太好,所以我尝试做的替代方案是缩写任何长度超过 25 个字符的组织名称。然而,我很难做到这一点。我尝试缩写它的一种方法是创建一个名为 abbrv 的新列,使用 substring 获取组织名称的前 25 个字符,然后执行“...”,然后将其放入该列中。对于不大于 25 的组织名称,我只需在 abbrv 列中添加 NA,如下所示:
for(i in dataframe.name$org_name){
if(nchar(i) > 25){
dataframe.name$abbrv <- paste0(substring(i, 0, 25), "...")
}
else{
dataframe.name$abbrv <- "NA"
}
Run Code Online (Sandbox Code Playgroud)
这种方式唯一的问题是现在我有了 abbrv 列(如果它有效),如果组织名称大于 25 个字符,我将如何确保以绘图方式显示 abbrv 列,如果不大于 25 个字符,则显示正常组织名称。
无论如何,我对此已经谈得够多了,但这是我尝试做的一种方法,但它不太有效,因为 abbrv 列为该列中的所有行都设置了“NA”,无论组织的名称有多长。我尝试做的另一种方法是使用替换功能,例如:
for(i in dataframe.name$org_name){
if(nchar(i) > 25){
dataframe.name[i].replace(
to_replace=i,
value= abbreviate(i)
)
}
Run Code Online (Sandbox Code Playgroud)
但我也遇到了该错误。此时,我什至不知道该怎么做以及如何缩写数据框中的长名称?我真的很迷失和困惑,不知道该怎么做以及如何准确地缩写长名字。如果有人能帮助我,那就太好了!谢谢。
*******编辑*******
所以现在我正在使用这段代码:
for(i in 1:nrow(dfname)){ …Run Code Online (Sandbox Code Playgroud) 我使用该tabsetpanel()函数为两个不同的图表创建选项卡。但是,我遇到了这样的问题:图表的标题非常靠近选项卡并且没有任何间距。它看起来像是被压在一起的,所以我想知道如何在选项卡面板和图表之间创建间距?我的左侧有一个闪亮的小部件,它控制右侧的图表。这是我的代码的示例:
tabPanel("Name",
sidebarLayout(
sidebarPanel(
selectInput(
<shiny widget coding is here>
)
),
mainPanel(
tabsetPanel(
tabPanel("graphname", plotlyOutput("graph1")),
tabPanel("graphname2", plotlyOutput("graph2"))
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有 tabsetPanel,然后是带有图表的 tabpanels。但图表和 tabsetpanel 栏之间没有间距,如下所示:

我怎样才能解决这个问题?
我使用 Secrets 作为环境变量,我想知道您如何在我的应用程序的客户端中调用该 Secret?我正在运行 Node.js 应用程序并希望使用 Secrets 环境变量。因为我有一个 env 文件,所以我通常会在本地调用我的环境变量process.env.VARIABLE_NAME,但我知道部署到 Kubernetes 上时,秘密与环境变量不同。
有人可以帮我解决这个问题吗?谢谢!
r ×2
abbreviation ×1
dataframe ×1
deployment ×1
dotenv ×1
graph ×1
kubernetes ×1
node.js ×1
shiny ×1