Wertegrafik erstellen Teil 1
Jump to navigation
Jump to search
Installation • Anwendungsfragen • PDF-Export • DTP • Sonstiges |
Siehe auch: Wertegrafik erstellen Teil 2 |
Mit der Fähigkeit von Scribus automatisch Linien und Textrahmen zu zeichnen, kann ohne großen Aufwand eine "Rahmenstruktur" für eine Wertegrafik automatisch erstellt werden. Hier zeige ich ein paar Basis-Pythonbefehle um diese Aufgabe zu lösen. Diese Erstversion erzeugt drei Abfrage(Eingabe)-Boxen – die erste für den Grafiktitel, die zweite und dritte für die Beschriftung der X-und Y-Achse. Die Größenangaben im Skript gehen davon aus daß Punkt als Einheit im Seitenfomat eingestellt ist. (Allgemeine Einstellungen)
Für Windows mußt Du eine Schrift im Skript verwenden die in Deiner Windowsinstallation auch vorhanden ist. Die tatsächlichen Namen der Schrift herauszufinden kann etwas schwierig sein. Ich schlage vor Du überprüfst die Namen anhand des Skriptes FontSample (Menü > Script > Scripte für Scribus > FontSample), welches Dir den exakten Namen der Schriftdatei für die Verwendung in graph.py ausgibt. Du mußt das Skript nicht komplett durchlaufen lassen – starte das Skript und schaue im sich öffnenden Fenster in die Liste der Fonts (auf der linken Seite) um den gesuchten Namen zu finden, anschließend klicke auf Cancel. Ich habe beispielsweise in der Schriftliste von WordPerfect nachgesehen, und die von mir gewünschte Schrift war als "Futura Bk BT" aufgeführt – und damit hat das Skript nicht funktioniert. Die Überprüfung mit FontSample ergab den korrekten Namen "Futura Bk BT Book". |
Beispiel für die Verwendung von graphDE.py
Skript: graphDE.py
#!/usr/bin/env python # File: graph.py # originally 2006.05.17 # Gregory Pittman # creates basic graph with axis labels # graphDE.py # erzeugt eine Grafik mit Titel und Achsenbezeichnungen # Übersetzung der Captions, Meldungstexte und Kommentare # 17. Februar 2007 von Uchiki import scribus xorigin = 150 # x-Ursprung der Grafik yorigin = 450 # y-Ursprung der Grafik xaxis=400 #Länge der X-Achse yaxis=350 #Länge der Y-Achse color="Black" a = 1.5 # Linienstärke für die Achsen if scribus.haveDoc(): # Drei Abfrageboxen für Titel, Beschriftung X-Achse, Beschriftung Y-Achse title = scribus.valueDialog('Titel','Titel für Grafik eingeben') xlabel = scribus.valueDialog('Beschriftung X-Achse','Beschriftung X-Achse eingeben') ylabel = scribus.valueDialog('Beschriftung Y-Achse','Beschriftung Y-Achse eingeben') scribus.setRedraw(1) scribus.setUnit(0) # Zuerst die X-Achse zeichnen d = scribus.createLine(xorigin,yorigin,xorigin+xaxis,yorigin) scribus.setLineWidth(a, d) scribus.setLineColor(color, d) scribus.setFillColor(color, d) # Nun die Y-Achse e = scribus.createLine(xorigin,yorigin,xorigin,yorigin-yaxis) # Für Version 1.3.3.1 die obere Zeile auskommentieren und bei der unteren Zeile die Auskommentierung aufheben # e = scribus.createLine(xorigin,yorigin,xorigin+yaxis,yorigin) scribus.setLineWidth(a, e) scribus.setLineColor(color, e) scribus.setFillColor(color, e) # Für version 1.3.3.1 bei der nächste Zeile die Auskommentierung aufheben # scribus.rotateObject(90,e) # Der Diagrammtitel in roter Schrift mit Rahmen T = scribus.createText(60, 45, 500, 60) scribus.setTextColor("Red", T) scribus.setText(title, T) scribus.setTextAlignment(1, T) scribus.setFont("Times New Roman Bold", T) # für Windows den Font auf "Times New Roman Bold" gesetzt scribus.setFontSize(28, T) # Beschriftung der X-Achse XL = scribus.createText(xorigin, yorigin + 20, xaxis, 40) scribus.setText(xlabel, XL) scribus.setTextAlignment(1, XL) scribus.setFont("Times New Roman Bold", XL) # für Windows den Font auf "Times New Roman Bold" gesetzt scribus.setFontSize(20, XL) # Beschriftung der Y-Achse, um 90 Grad gedreht YL = scribus.createText(xorigin - 60, yorigin, yaxis, 40) scribus.setText(ylabel, YL) scribus.setTextAlignment(1, YL) scribus.setFont("Times New Roman Bold", YL) # für Windows den Font auf "Times New Roman Bold" gesetzt scribus.setFontSize(20, YL) scribus.rotateObject(90,YL) scribus.redrawAll()