首頁 >科技週邊 >IT業界 >閃亮和R:如何添加主題並自定義錯誤消息

閃亮和R:如何添加主題並自定義錯誤消息

Lisa Kudrow
Lisa Kudrow原創
2025-02-18 12:35:10646瀏覽

閃亮和R:如何添加主題並自定義錯誤消息

鑰匙要點

    R編程語言中的軟件包
  • > Shiny提供了一個用於數據分析和模型構建的用戶友好界面,即使是針對具有非編碼背景的用戶。它允許創建Interactive Web應用程序,而無需進行廣泛的編碼。
  • 閃亮的主題可用於自定義閃亮的Web應用程序的外觀。可以選擇不同的主題來改變應用程序的背景和整體外觀,從而提供更個性化的用戶體驗。 Shiny中的Validate()函數可用於創建自定義錯誤消息,從而為最終用戶提供有關如何使用特定程序的指導。當以特定方式操縱閃亮程序的某個部分時,可以觸發此功能。 > Shiny的重點是為數據分析創建一種用戶友好和直觀的體驗。與單獨使用R相比,它允許更大的自定義和交互性,並且可以通過正確指定特定程序的參數來最大程度地降低用戶輸入錯誤的風險。
  • > >在我關於使用R和HTML使用Shiny的文章中,我說明瞭如何創建交互式Web應用程序以進行分析而無需直接操縱代碼。在本文中,我將使用一個略有不同的模型來說明如何以更直觀的方式定制閃亮的環境以與最終用戶合作。本質上,本文的目的是說明用戶如何:
  • >
>通過鏈接UI和服務器端閃亮和R:如何添加主題並自定義錯誤消息來構建應用程序

>如何自定義閃亮主題庫中可用的主題

>

實施錯誤消息,以便向最終用戶提供有關如何使用特定程序

    為本教程開發的程序本身是基本的:滑塊輸入允許用戶通過反應性操縱程序中的變量,這會導致線圖輸出的瞬時變化,該變量通過反應性開發而開發。
  1. 這個固有的函數使光澤與使用R代碼作為獨立的功能具有顯著優勢。傳統上,為了分析特定變量中的更改,必須直接操縱代碼(或代碼讀取的數據),這最終可能會變得非常效率低下。但是,通過允許用戶以高度直觀的方式操縱變量,並立即反映變化來大大加快此過程。

    >但是,閃亮的全部目的是使R腳本盡可能互動。在這方面,用戶將希望能夠將功能添加到遠遠超出反應性的程序中。我將在本教程中討論的兩個這樣的方面是:

    >

      使用閃亮的特徵來自定義我們閃亮的外觀
    1. 的外觀
    2. >以某種方式操縱變量後,構建Validate()函數以顯示警報
    3. 閃亮的主題
    在我們原始程序的UI中,我們沒有指定一個主題,因此最終獲得了我們輸出的基本(默認的bootstrap)視圖:>

    >定義Shinyui(fluidPage(…))函數時,我們沒有指定主題。在這種情況下,我們將指定從閃亮的主題包中可用的幾個主題。

    > 在指定Shinyui(fluidPage(…))之後,我們還指定了我們的主題:閃亮和R:如何添加主題並自定義錯誤消息>

    >從上面的角度來看,選擇機器人主題為我們的Web應用程序提供了黑暗的背景。作為另一個例子,現在讓我們選擇Spacelab主題,看看我們想到的內容:>
    shinyUI(fluidPage(theme = shinytheme("cyborg")
    

    閃亮和R:如何添加主題並自定義錯誤消息

    這些主題根據閃亮代碼中的其他屬性(例如其他按鈕,選項卡等)展示了更多的自定義級別。請隨時嘗試在Rstudio Github帳戶中嘗試其他主題,並查看您的想法!

    validate()函數

    在使用閃亮代碼時,validate函數是必不可少的工具。本質上,驗證允許在操縱閃亮程序的某個部分時觸發警報消息。 閃亮和R:如何添加主題並自定義錯誤消息> 在此特定實例中,我討論瞭如何在程序中操縱滑塊時如何使用驗證和需要函數來觸發警報消息。

    在上次,該程序本身就其功能而言是非常基本的。從本質上講,我們的閃亮程序在1到100之間的X軸上產生價值,具體取決於滑塊的選擇。然後,每當計算出的斜率低於5以下時,即以29或更高的速度,我們將使用相應的Y值來產生錯誤消息。請注意,該程序不是直接計算斜率,而是在此實例中使用29的值作為基於手動計算的斜率的截止點。 在用戶界面中,我們在Shinyui下指定驗證觸發器,如下所示:

    在服務器下,我們在輸入輸出函數下指定驗證和需要命令:

    shinyUI(fluidPage(theme = shinytheme("cyborg")
    

    完整的程序代碼

    shinyUI(fluidPage(theme = shinytheme("spacelab"),
    tags$head(
      tags$style(HTML("
        .shiny-output-error-validation {
        color: red;
        }
        "))
    ),
    
    UI和服務器代碼整體顯示在下面:

    >

    ui

    >服務器

    function(input, output) {
      output$algebra < - renderPlot({
        validate(
          need(input$lambda <= 28, "A value set at 29 or above produces a slope below 5. Please set a value below 29.")
        )
    

    作為快速回顧,我們通過以下方式運行該程序

    #Load libraries
    library(shiny)
    library(shinythemes)
    
    
    #Define Shiny theme and specify shiny-output-error-validation
    shinyUI(fluidPage(theme = shinytheme("spacelab"),
    
    
    tags$head(
      tags$style(HTML("
        .shiny-output-error-validation {
        color: red;
        }
        "))
    ),
    
    
    sidebarLayout(
      sidebarPanel(
        sliderInput("lambda",
          "Number of data points:",
          min = 1,
          max = 100,
          value = 1)
    ),
    
    
    mainPanel(
      h3("Slope of a line", style = "font-family: 'Jura'; color: blue; font-size: 32px;"),
      HTML("<p>Excluding slope below 5 where y = 2x + 3"),
      plotOutput("algebra")
    )
    )
    ))
    
    >打開R Studio並選擇新圖標→閃亮的Web應用

    >我們看到我們可以選擇單個文件(使用UI.R和Server.r)或一個多個文件(其中ui.r和server.r在單獨的腳本中)。我們將在此處使用多個文件。 閃亮和R:如何添加主題並自定義錯誤消息

    現在,我們將上述UI和服務器代碼粘貼到它們的各個部分中,並通過選擇運行應用程序來運行程序。 閃亮和R:如何添加主題並自定義錯誤消息

    >我們看到,根據我們如何操縱滑塊的方式,我們的線圖在X軸上的數據點增長。但是,您會注意到,一旦滑塊移動到29或更高的值,則顯示錯誤消息:“設置為29或更高的值將產生低於5的斜率。請設置一個低於29的值” 。 >

    閃亮和R:如何添加主題並自定義錯誤消息

    當開發人員希望將外部用戶引導使用此類程序時,顯示此類錯誤消息的顯示可能非常有用。例如,如果不顯示錯誤消息,則用戶可以自由地進行限制,以對可能不一定合適的程序進行輸入。通過這種方式,開發人員可以為外部用戶提供進一步的保障措施,以防止外部用戶無意中的輸入,而僅在R代碼中進行此操作會使輸入對操作開放。

    >

    例如,閃亮的網站本身給出了一個示例,說明瞭如何將驗證函數應用於列表。 UI和服務器會產生直方圖作為輸出,但是當在列表中選擇特定數據集時,該程序會產生錯誤消息。通過這種方式,Validate命令確實可以做到這一點- 驗證特定輸入,而需求函數使我們可以通過自定義錯誤消息來個性化相同的內容- 即輸入$ lambda ,雖然我們只指定了一個錯誤消息,但我們可能會指定多個。例如,現在假設當滑塊高於35:

>的值時,我們要顯示一條其他錯誤消息。
shinyUI(fluidPage(theme = shinytheme("cyborg")

在服務器代碼中使用附加需求功能,將滑塊操作至35以上的值,這意味著我們現在顯示其他錯誤消息:“您的滑塊現在的值大於35!”

>

閃亮和R:如何添加主題並自定義錯誤消息

結論

在本文中,我們看到瞭如何使用閃亮的主題來操縱閃亮的應用程序的設計,並學會瞭如何將過濾器應用於代碼的參數並在某些條件被違反時顯示錯誤消息。

>最終,Shiny的重點在於,與單獨使用R相比,在進行分析方面具有更高的用戶友好和直觀的體驗,並且還可以通過正確指定特定程序的參數來最大程度地減少用戶輸入錯誤的風險。 。

> Shiny和R:主題和自定義錯誤消息的常見問題(FAQ)

>如何在r?

中添加一個主題,將主題添加到r中的閃亮應用程序是一個簡單的過程。首先,您需要安裝和加載ShinyThemes軟件包。您可以通過在r控制台中運行以下命令來執行此操作:install.packages(“ ShinyThemes”)和Library(ShinyThemes)。加載軟件包後,您可以通過在FluidPage或Navbarpage函數中包括主題參數來添加主題。例如,fluidPage(主題= Shinytheme(“ Cerulean”))。這將把“ Cerulean”主題應用於您的閃亮應用程序。 >如何更改我的Shiny App的配色方案?可以使用CSS來完成閃亮的應用程序。您可以通過在UI函數中使用IncludeCSS函數將CSS文件包含在您的應用中。例如,包括includecss(“ styles.css”)。在CSS文件中,您可以為應用程序的不同元素定義顏色。例如,要將應用程序的背景顏色更改為藍色,您可以在CSS文件中包含以下內容:Body {Background-Color:blue;}。

>我可以在我的閃亮應用程序中使用自定義字體嗎?這可以通過在您的應用程序中包含CSS文件並使用 @font-FACE規則來定義您的自定義字體來完成。例如,如果您有一個稱為“ myfont.woff”的自定義字體文件,則可以在CSS文件中包含以下內容: @font-face {font-family:“ myfont”; src:url(“ myfont.woff ”);}。然後,您可以通過將字體家庭屬性設置為“ myFont”來使用CSS中的字體。

>

>如何在我的Shiny應用程序中添加自定義徽標?可以通過使用Navbarpage功能並將徽標作為參數來完成閃亮的應用程序。例如,navbarpage(title =“我的應用程序”,windowtitle =“我的app”,taglist(tags $ img(src =“ mylogo.png”,height =“ 50px”,width =“ 50px”))。這將在您的應用程序的Navbar中顯示您的徽標。

我可以在我的Shiny應用程序中使用引導主題嗎? ShinyThemes軟件包提供了您可以使用的幾個預製的引導主題。您還可以通過在應用程序中包含主題的CSS文件來使用自定義的引導主題。

>更改閃亮應用程序的佈局可以可以使用Shiny提供的各種佈局函數來完成。例如,您可以使用Fluidrow和列函數創建網格佈局,或者Sidebarlayout,sidebarpanel和Mainpanel函數來創建帶有側欄的佈局。

我可以在閃亮的應用中使用Javascript嗎?>>我如何使我的Shiny應用程序響應? 🎜>可以通過使用UI的流體功能來完成閃亮的應用響應。此功能會創建一個佈局,該佈局會自動調整到用戶屏幕的大小。您還可以在navbarpage函數中使用響應= true參數來使navbar響應。

>

>我可以在我的應用程序中使用閃亮的小部件嗎?

是的,您可以在應用程序中使用閃亮的窗口。 Shiny提供了各種小部件,例如滑塊,複選框和文本輸入,您可以在應用程序中創建交互式元素。您可以通過在UI功能中包含相應功能來向應用程序添加一個小部件。例如,sliderInput(“ mySlider”,“我的滑塊”,min = 0,max = 100,value = 50)將在您的應用中添加一個滑塊。

以上是閃亮和R:如何添加主題並自定義錯誤消息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn