Wie kann man ein Donut-Diagramm in R erstellen? (2024)

Sprache des Artikels ändern

  1. Alle
  2. Ingenieurwesen
  3. Datenvisualisierung

Bereitgestellt von KI und der LinkedIn Community

1

Installieren und Laden von Paketen

2

Vorbereiten der Daten

3

Erstellen des Ringdiagramms

4

Hinzufügen von Beschriftungen

5

Farben ändern

6

Hier erfahren Sie, was Sie sonst noch beachten sollten

Ringdiagramme sind eine Art Kreisdiagramm mit einem Loch in der Mitte, wodurch eine ringförmige Visualisierung entsteht. Sie können nützlich sein, um die Anteile verschiedener Kategorien oder Gruppen in einem Datensatz anzuzeigen und die Unterschiede zwischen ihnen hervorzuheben. In diesem Artikel erfahren Sie, wie Sie ein Ringdiagramm in R mit den Paketen ggplot2 und ggforce erstellen, wie Sie seine Darstellung anpassen und Beschriftungen hinzufügen.

Top-Expert:innen in diesem Artikel

Von der Community unter 11 Beiträgen ausgewählt. Mehr erfahren

Wie kann man ein Donut-Diagramm in R erstellen? (1)

Community Top Voice-Badge verdienen

Ergänzen Sie gemeinsame Artikel, um in Ihrem Profil für Ihre Expertise anerkannt zu werden. Mehr erfahren

  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation

    Wie kann man ein Donut-Diagramm in R erstellen? (3) 4

Wie kann man ein Donut-Diagramm in R erstellen? (4) Wie kann man ein Donut-Diagramm in R erstellen? (5) Wie kann man ein Donut-Diagramm in R erstellen? (6)

1 Installieren und Laden von Paketen

Der erste Schritt besteht darin, die Pakete zu installieren und zu laden, die Sie zum Erstellen eines Ringdiagramms in R benötigen. Sie können die install.packages() -Funktion, um sie zu installieren, und die Bibliothek() -Funktion, um sie zu laden. Das ggplot2-Paket ist ein beliebtes und leistungsstarkes Tool zum Erstellen verschiedener Arten von Plots in R, basierend auf der Grammatik von Grafiken. Das ggforce-Paket ist eine Erweiterung von ggplot2, die einige zusätzliche Geometrien und Funktionen bereitstellt, einschließlich der_Bogen_Stab() Funktion, die Sie zum Erstellen des Ringdiagramms verwenden.

# Install packagesinstall.packages(c("ggplot2", "ggforce"))# Load packageslibrary(ggplot2)library(ggforce) 
Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation
    • Beitrag melden

    Ensure you have the necessary tools—it's like gathering your art supplies. Install and load the required packages. In this case, you might want ggplot2 and dplyr.install.packages("ggplot2")install.packages("dplyr")library(ggplot2)library(dplyr)

    Übersetzt

    Gefällt mir
    Nicht hilfreich

2 Vorbereiten der Daten

Der nächste Schritt besteht darin, die Daten vorzubereiten, die Sie in einem Ringdiagramm visualisieren möchten. In diesem Beispiel verwenden Sie ein integriertes Dataset mit dem Namen mtcars, das Informationen zu 32 Autos enthält, z. B. Meilen pro Gallone, Anzahl der Zylinder, PS und Gewicht. Sie erstellen ein Ringdiagramm, das die Verteilung der Autos nach der Anzahl der Zylinder zeigt, wobei es sich um eine Faktorvariable mit vier Stufen handelt: 4, 6, 8. Sie berechnen auch den Prozentsatz jeder Ebene und speichern ihn in einer neuen Spalte namens pct. Sie können das dplyr-Paket verwenden, um die Daten zu bearbeiten, oder R-Basisfunktionen verwenden.

# Load dplyr packagelibrary(dplyr)# Group the data by number of cylinders and count the frequencydata <- mtcars %>% group_by(cyl) %>% summarise(freq = n())# Calculate the percentage of each leveldata$pct <- data$freq / sum(data$freq) * 100 
Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation
    • Beitrag melden

    Organize your data—it's like arranging your ingredients. Prepare a dataset with the necessary information. For example:data <- data.frame(category = c("A", "B", "C", "D"), value = c(20, 30, 15, 35))

    Übersetzt

    Gefällt mir
    Nicht hilfreich
  • Samo Ola Daoud Graduating student at LiU| MSc. Computational Social Sciences| Data Analyst
    • Beitrag melden

    The above code calculated the frequency and percentage of each level of the "cyl" variable in the dataset using the (dplyr) package. A small modification i suggest in the last line when trying to create a new column to calculate the percentage of each level, i prefer using "mutate" function within a pipeline .. Just to avoid any possible issues related to data types.

    Übersetzt

    Gefällt mir
    Nicht hilfreich

3 Erstellen des Ringdiagramms

Der dritte Schritt besteht darin, das Donut-Diagramm mit den Paketen ggplot2 und ggforce zu erstellen. Sie können den ggplot() , um ein Plotobjekt zu initialisieren und die Daten und die ästhetischen Zuordnungen anzugeben. Dann können Sie die Geometrie_Bogen_Stab() aus dem ggforce-Paket, um die ringförmigen Balken zu erstellen, die die Anzahl der Zylinder darstellen. Sie müssen vier Argumente für diese Funktion angeben: Alpha, das ist der Startwinkel des Bogens; Beta, das ist der Endwinkel des Bogens; r0, das ist der innere Radius des Bogens; und r, was der äußere Radius des Bogens ist. Sie können die Koordinaten_polar() , um das Diagramm in ein polares Koordinatensystem zu konvertieren, und legen Sie das Theta-Argument auf "x" fest, um die x-Achse dem Winkel des Bogens zuzuordnen. Sie können auch das Theme() , um das Erscheinungsbild des Diagramms anzupassen, z. B. das Entfernen der Achsenbeschriftungen und Teilstriche und das Hinzufügen eines Titels.

# Create the donut chartdonut_chart <- ggplot(data, aes(x = factor(1), y = pct, fill = factor(cyl))) + geom_arc_bar(aes(alpha = -c*msum(pct) + pct / 2 + 90, beta = -c*msum(pct) + 90, r0 = 0.5, r = 1)) + coord_polar(theta = "x") + theme(axis.title = element_blank(), axis.text = element_blank(), axis.ticks = element_blank(), plot.title = element_text(hjust = 0.5)) + ggtitle("Distribution of cars by number of cylinders")# Print the donut chartdonut_chart 
Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

    • Beitrag melden

    Quick & easy 4 step process :1.Install and Load Required Packages:R codeinstall.packages("ggplot2")library(ggplot2)2.Create Data for the Donut Chart:R codedata <- data.frame(category = c("Category 1", "Category 2", "Category 3"), value = c(30, 45, 25))3.Calculate Cumulative Percentages:R codedata <- transform(data, end = c*msum(value), start = c(0, head(end, n = -1)))4.Create Donut Chart using ggplot2:R codeggplot(data, aes(x = 2, y = value, fill = category)) + geom_bar(stat = "identity", width = 1, color = "white") + coord_polar(theta = "y") + xlim(c(1, 3)) + theme_void()Assumption: Data represented in Percentage.

    Übersetzt

    Gefällt mir
    Nicht hilfreich
  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation
    • Beitrag melden

    Craft your masterpiece—it's like shaping your sculpture. Use ggplot to create the donut chart.ggplot(data, aes(x = 2, y = value, fill = category)) + geom_bar(stat = "identity", width = 1, color = "white") + coord_polar(theta = "y") + theme_void() + theme(legend.position = "none")

    Übersetzt

    Gefällt mir
    Nicht hilfreich
  • Mustapha Mekhatria, MBA Innovation Project Manager at Highsoft AS
    • Beitrag melden

    Feel free to use highcharter library:highchart() %>% hc_add_series(type = "pie", data = df, hcaes(x = A, y = B), startAngle = -90, endAngle = 90) %>% hc_tooltip(pointFormat = '<b>{point.percentage:.1f}%</b>') %>% hc_title(text = "ABC", margin = 20, style = list(color = "#144746", useHTML = TRUE))

    Übersetzt

    Gefällt mir
    Nicht hilfreich
  • Samo Ola Daoud Graduating student at LiU| MSc. Computational Social Sciences| Data Analyst
    • Beitrag melden

    "ggplot2" package used to create a donut chart. I prefer to use "geom_bar" function to create the donut chart which is a standard function in "ggplot2" with a specific set of parameters instead of "geom_arc_ba".

    Übersetzt

    Gefällt mir
    Nicht hilfreich

4 Hinzufügen von Beschriftungen

Der vierte Schritt besteht darin, dem Ringdiagramm Beschriftungen hinzuzufügen, um es leichter lesbar und interpretierbar zu machen. Sie können die Geometrie_Text() -Funktion aus dem ggplot2-Paket, um dem Plot Textbeschriftungen hinzuzufügen. Sie müssen drei Argumente für diese Funktion angeben: x, das ist die x-Koordinate der Beschriftung; y, das ist die y-Koordinate der Beschriftung; und label, das ist der Text des Labels. Sie können auch die aes() -Funktion, um diese Argumente Variablen in den Daten zuzuordnen, und verwenden Sie die Einfügefunktion() Funktion, um die Anzahl der Zylinder und den Prozentsatz im Etikett zu kombinieren. Sie können auch die Argumente hjust und vjust verwenden, um die horizontale und vertikale Ausrichtung der Beschriftung anzupassen, und das Argument size, um die Schriftgröße zu ändern.

# Add labels to the donut chartdonut_chart <- donut_chart + geom_text(aes(x = factor(1), y = pct / 2 + c*msum(pct) - pct / 2, label = paste(cyl, "cylinders\n", round(pct, 1), "%")), hjust = 0.5, vjust = 0.5, size = 3)# Print the donut chart with labelsdonut_chart 
Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation
    • Beitrag melden

    Label your creation—it's like signing your artwork. Add labels to enhance understanding.ggplot(data, aes(x = 2, y = value, fill = category)) + geom_bar(stat = "identity", width = 1, color = "white") + coord_polar(theta = "y") + theme_void() + theme(legend.position = "none") + geom_text(aes(label = paste(category, ": ", value, "%")), position = position_stack(vjust = 0.5), size = 4)

    Übersetzt

    Gefällt mir
    Nicht hilfreich

5 Farben ändern

Der fünfte Schritt besteht darin, die Farben des Donut-Diagramms zu ändern, um es ansprechender und unverwechselbarer zu machen. Sie können die Waage_füllen_Manuell() -Funktion aus dem ggplot2-Paket, um die Farben anzugeben, die Sie für die Füllästhetik verwenden möchten, die der Anzahl der Zylinder entspricht. Sie können entweder einen Vektor mit Farbnamen oder einen Vektor mit Hexadezimalcodes verwenden, um jeder Ebene der Faktorvariablen eine Farbe zuzuweisen. Sie können auch das name-Argument verwenden, um die Beschriftung der Legende zu ändern, und das guide-Argument, um die Legende vollständig zu entfernen, wenn Sie dies bevorzugen.

# Change colors of the donut chartdonut_chart <- donut_chart + scale_fill_manual(values = c("#F8766D", "#00BFC4", "#C77CFF"), name = "Number of cylinders", guide = FALSE)# Print the donut chart with colorsdonut_chart 
Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

  • Gerald Tesha Data Officer @ HETA | Data Visualization, Monitoring and Evaluation
    • Beitrag melden

    Apply your preferred color palette—it's like selecting the right hues. Customize the colors of your donut chart.ggplot(data, aes(x = 2, y = value, fill = category)) + geom_bar(stat = "identity", width = 1, color = "white") + coord_polar(theta = "y") + theme_void() + theme(legend.position = "none") + geom_text(aes(label = paste(category, ": ", value, "%")), position = position_stack(vjust = 0.5), size = 4) + scale_fill_manual(values = c("#E41A1C", "#377EB8", "#4DAF4A", "#FF7F00"))

    Übersetzt

    Gefällt mir

    Wie kann man ein Donut-Diagramm in R erstellen? (79) 4

    Nicht hilfreich

6 Hier erfahren Sie, was Sie sonst noch beachten sollten

Dies ist ein Bereich, in dem Beispiele, Geschichten oder Erkenntnisse geteilt werden können, die in keinen der vorherigen Abschnitte passen. Was möchten Sie noch hinzufügen?

Fügen Sie Ihre Sichtweise hinzu

Helfen Sie anderen, indem Sie mehr teilen (min. 125 Zeichen)

  • Soma Bhatnagar Data Scientist/Statistician
    • Beitrag melden

    Pros: - Donut chart can replace a pie chart. It lets viewers focus more on the arc lengths to understand the proportion. - The inner circle of donut chart can be utilized for data labeling. Cons:- If we have too many groups to visualize, then the chart becomes cluttered and non informative.

    Übersetzt

    Gefällt mir
    Nicht hilfreich

Weitere Beiträge laden

Datenvisualisierung Wie kann man ein Donut-Diagramm in R erstellen? (88)

Datenvisualisierung

+ Folgen

Diesen Artikel bewerten

Wir haben diesen Artikel mithilfe von KI erstellt. Wie finden Sie ihn?

Sehr gut Geht so

Vielen Dank für Ihr Feedback

Ihr Feedback ist privat. Mit „Gefällt mir“ oder durch Reagieren können Sie die Unterhaltung in Ihr Netzwerk bringen.

Feedback geben

Diesen Artikel melden

Weitere Artikel zu Datenvisualisierung

Keine weiteren vorherigen Inhalte

  • Ihr Team ist resistent gegen Datenvisualisierung. Wie können Sie sie von seinem Wert überzeugen?
  • Sie präsentieren öffentliche Visualisierungen. Wie beruhigen Sie Ihre Kunden in Bezug auf die Datensicherheit?
  • Hier erfahren Sie, wie Sie Ihre Karriereprojekte mit Echtzeit-Datenvisualisierungstools verbessern können. 6 Beiträge
  • Kämpfen Sie mit Verzögerungen aufgrund von Missverständnissen in Visualisierungsprojekten? 2 Beiträge
  • Hier erfahren Sie, wie Sie Ihre technischen Fähigkeiten in der Datenvisualisierung durch Praktika schärfen können. 1 Beitrag
  • Sie leiten eine Präsentation zur Datenvisualisierung. Wie können Sie die Stakeholder bis zum Ende einbinden? 9 Beiträge
  • Sie leiten ein Team für Remote-Datenvisualisierung. Wie können Sie dafür sorgen, dass alle miteinander verbunden sind und zusammenhalten?
  • Hier erfahren Sie, wie Sie die Datenvisualisierung mit der IoT-Technologie in Ihrem Bereich effektiv integrieren können.

Keine weiteren nächsten Inhalte

Alle anzeigen

Andere Kenntnisse ansehen

  • Webentwicklung
  • Programmieren
  • Maschinelles Lernen
  • Softwareentwicklung
  • Informatik
  • Data Engineering
  • Datenanalytik
  • Data Science
  • Künstliche Intelligenz (KI)
  • Cloud-Computing

Relevantere Lektüre

  • Datenvisualisierung Wie können Sie das ggrepel-Paket verwenden, um überlappende Beschriftungen in ggplot2 zu verhindern?
  • Datenvisualisierung Wie können Sie mit dem gridExtra-Paket mehrere Visualisierungen auf einer Seite anordnen?
  • Datenvisualisierung Wie können Sie ein Zeitreihendiagramm in R erstellen?
  • Data Science Was sind die Best Practices zum Erstellen von Streudiagrammen in R?

Helfen Sie mit, Beiträge zu verbessern.

Markieren Sie Beiträge als nicht hilfreich, wenn Sie sie für den Artikel irrelevant oder nicht nützlich finden. Dieses Feedback ist nur für Sie sichtbar und ist nicht öffentlich.

Beitrag für Sie ausgeblendet

Dieses Feedback wird niemals öffentlich zugänglich gemacht. Wir verwenden es dazu, bessere Beiträge für alle anzuzeigen.

Möchten Sie Ihren Beitrag wirklich löschen?

Möchten Sie Ihre Antwort wirklich löschen?

Wie kann man ein Donut-Diagramm in R erstellen? (2024)
Top Articles
Latest Posts
Article information

Author: Prof. Nancy Dach

Last Updated:

Views: 5644

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Prof. Nancy Dach

Birthday: 1993-08-23

Address: 569 Waelchi Ports, South Blainebury, LA 11589

Phone: +9958996486049

Job: Sales Manager

Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.