Dieses Jupyter Notebook dokumentiert den Code, mit dem die Wortwolken der Masterarbeit "Produktivität frühneuzeitlicher Druckorte am Beispiel Bamberg - Datenanalysen und Visualisierungen auf Basis des Gesamtkatalogs der Wiegendrucke" erstellt wurden. Die Wortlisten, auf denen die Wortwolken basieren, beinhalten alle bedeutungstragenden Wörter aus den Titeln der Bamberger Inkunabeln. Stoppwörter wie Artikel, Präpositionen etc. wurden zuvor manuell entfernt.
Anmerkung: Die Thumbnails der Wortwolken, die hier angezeigt werden, entsprechen zum Teil nicht genau den Wortwolken, die in der Masterarbeit referenziert werden. Dies liegt daran, dass jedes Mal, wenn der Code ausgeführt wird, eine leicht veränderte Repräsentation der Wortwolke entsteht. Die grundlegenden Einstellungen bleiben die gleichen, jedoch können sich Farbe und Position der Wörter verändern. Die Repräsentationen der Wortwolken, welche in der Masterarbeit verwendet wurden, finden sich auf der Webseite im Bereich "Wortwolken".
Codeinspiration: https://www.python-lernen.de/wordcloud-erstellen-python.htm
Dokumentation der WordCloud Library: https://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html?highlight=wordcloud#wordcloud.WordCloud
# Importe
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
import os
import pandas as pd
# Input: bereinigte Wortliste mit bedeutungstragenden Wörtern aus den Titeln der Inkunabeln
with open("word_list/wordcloud_all.txt", encoding="utf-8") as f:
text = f.read()
# wichtig: Standardmäßig sind 200 Wörter als Maximum eingestellt
# d.h. nicht alle Wörter werden angezeigt, insgesamt sind es 411 Wörter
# Da jedoch 192 Wörter eine Häufigkeit von 1 haben, gehen dadurch kaum relevante Informationen verloren.
wordcloudTest = WordCloud(background_color = 'white', collocations=False, width=1920, height=1080).generate(text)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_all_final_4.jpg")
# Input: Wortliste Albrecht Pfister
with open("word_list/wordcloud_pfister_for_python.txt", encoding="utf-8") as f:
text_pfister = f.read()
# Wortliste anzeigen
text_pfister.replace('\n', ' ')
# Wortwolke erstellen
wordcloudTest = WordCloud(background_color = 'white',
collocations=False,
width=1920, height=1080,
relative_scaling = 1,
max_font_size = 400).generate(text_pfister)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Wortliste mit Häufigkeiten anzeigen
frequency_list_pfister = pd.read_csv('word_frequency_list/wordcloud_pfister.csv', sep=';')
frequency_list_pfister
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_pfister_python.jpg")
# Input: Wortliste Marx Ayrer
with open("word_list/wordcloud_ayrer_for_python.txt", encoding="utf-8") as f:
text_ayrer = f.read()
# Wortliste anzeigen
text_ayrer.replace('\n', ' ')
# Wortwolke erstellen
wordcloudTest = WordCloud(background_color = 'white',
collocations=False,
width=1920,
height=1080,
relative_scaling = 1,
max_font_size=130).generate(text_ayrer)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Wortliste mit Häufigkeiten anzeigen
frequency_list_ayrer = pd.read_csv('word_frequency_list/wordcloud_ayrer.csv', sep=';')
frequency_list_ayrer
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_ayrer_python3.jpg")
# Input: Wortliste Hans Sporer
with open("word_list/wordcloud_sporer_for_python.txt", encoding="utf-8") as f:
text_sporer = f.read()
# Wortliste anzeige
text_sporer.replace('\n', ' ')
# Wortwolke erstellen
wordcloudTest = WordCloud(background_color = 'white',
collocations=False,
width=1920,
height=1080,
relative_scaling = 1).generate(text_sporer)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Wortliste mit Häufigkeiten anzeigen
frequency_list_sporer = pd.read_csv('word_frequency_list/wordcloud_sporer.csv', sep=';')
frequency_list_sporer
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_sporer_python.jpg")
# Input: Wortliste Sensenschmidt/Petzensteiner
with open("word_list/wordcloud_sensenschmidt_petzensteiner_for_python.txt", encoding="utf-8") as f:
text_sensenschmidt = f.read()
# Wortliste anzeigen
text_sensenschmidt.replace('\n', ' ')
# Wortwolke erstellen
wordcloudTest = WordCloud(background_color = 'white',
collocations=False,
width=1920,
height=1080,
relative_scaling = 1).generate(text_sensenschmidt)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Wortliste mit Häufigkeiten öffnen
frequency_list_sensenschmidt = pd.read_csv('word_frequency_list/wordcloud_sensenschmidt_petzensteiner.csv', sep=';')
# die ersten 30 Einträge der Liste anzeigen (die übrigen haben eine Häufigkeit von 1)
frequency_list_sensenschmidt.head(30)
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_sensenschmidt_petzensteiner_python.jpg")
# Input: Wortliste Pfeyl/Petzensteiner/Sensenschmidt
with open("word_list/wordcloud_pfeyl_petzensteiner_for_python.txt", encoding="utf-8") as f:
text_pfeyl = f.read()
# Wortliste anzeigen
text_pfeyl.replace('\n', ' ')
# Wortwolke erstellen
wordcloudTest = WordCloud(background_color = 'white',
collocations=False,
width=1920,
height=1080,
relative_scaling = 1).generate(text_pfeyl)
plt.imshow(wordcloudTest, interpolation="bilinear")
plt.axis("off")
plt.show()
# Wortliste mit Häufigkeiten öffnen
frequency_list_pfeyl = pd.read_csv('word_frequency_list/wordcloud_pfeyl_petzensteiner.csv', sep=';')
# die ersten 25 Einträge anzeigen (die restlichen haben eine Häufigkeit von 1)
frequency_list_pfeyl.head(25)
# Dateiexport
# wordcloudTest.to_file("python_word_cloud/wordcloud_pfeyl_petzensteiner_python.jpg")