Matplotlib-Fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sports7
User
Beiträge: 10
Registriert: Dienstag 18. April 2017, 12:47

Hallo zusammen,

bei mir kommt folgender Fehler, wenn ich ein Histogramm zeichnen will:

D:\Programme\WinPython-64bit-3.6.0.1Qt5\python-3.6.0.amd64\lib\site-packages\matplotlib\font_manager.py:1297: UserWarning: findfont: Font family ['normal'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext])). Wie kann ich das beheben? In meinem Histogramm fehlen damit bei den einzelnen Balken die dünne schwarze Berandung (ist schöner für die Unterscheidung der Balken sowie Erkennbarkeit).

Vielen Dank!

Grüße
BlackJack

@sports7: Das ist eine Warnung und kein Fehler und die Schriftart hat auch nichts mit dem Rahmen von gezeichneten Balken zu tun.
sports7
User
Beiträge: 10
Registriert: Dienstag 18. April 2017, 12:47

Ok. Woran liegt es dann, dass meine Balken keinen Rahmen besitzen?

VG
sports7
BlackJack

@sports7: Keine Ahnung. Wie soll man die Frage denn beantworten können ohne zu wissen was Du genau machst?
sports7
User
Beiträge: 10
Registriert: Dienstag 18. April 2017, 12:47

Mein Code für das Histogramm sieht folgendermaßen aus:

Code: Alles auswählen

fig = plt.figure()
    ax1 = fig.add_subplot(111)

    histIntra = ax1.hist(intraData, histNumBins, range = [histAxisMin, histAxisMax], label = "Intra distances", facecolor = "b")
    ax1.set_xlabel("Hamming-Distance")
    ax1.set_ylabel("Occurences amount (Intra Data)")
    ax1.set_ylim([0, len(intraData)])
    ax1.tick_params("y", colors = "b")
    ax1.grid()
    x = np.linspace(histAxisMin, histAxisMax, 500)  
    yAx1 = gaussFunc(x, max(histIntra[0]), intraMean, intraStd)
    plt.plot(x, yAx1, color="orange")  
Dabei ergibt sich folgendes Bild:
http://www.bilder-upload.eu/show.php?fi ... 597795.png

Zu sehen sollten aber die Rahmen wie bspw in folgender Abbildung sein:

https://www.google.de/search?q=histogra ... glQ37bQKpM:

Viele Grüße
Zuletzt geändert von Anonymous am Mittwoch 19. April 2017, 11:54, insgesamt 1-mal geändert.
Grund: IMG-Tags entfernt
sports7
User
Beiträge: 10
Registriert: Dienstag 18. April 2017, 12:47

Oder liegt es an der Warnung wegen dem Font (siehe erster Post)?

Code: Alles auswählen

#Set font size/style for all plots
font = {'family' : 'normal',
        'weight' : 'normal',
        'size'   : 8}

matplotlib.rc('font', **font)
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na, was passiert denn wenn du das mit dem Font laesst? Ist es dann besser?
BlackJack

@sports7: Mal davon abgesehen das Du diese Vermutung ja selbst ganz einfach überprüfen kannst, sieht Deine Grafik ziemlich deutlich nicht nach dem klassichen Stil von Matplotlib aus. Das Grid ist ja zum Beispiel bei Dir als graue, durchgezogene Linien gezeichnet und nicht als schwarze, gepunktete Linie. Warum das so ist, lässt sich an dem gezeigten Quelltext nicht ablesen.

Edit: Okay, der Standard-Stil hat sich anscheinend geändert. Leb damit oder verwende das 'classic' Stylesheet. :-)
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@sports7: hast Du schon versucht, die Umrandung zu setzen?

Code: Alles auswählen

histIntra = ax1.hist(intraData, histNumBins, range=[histAxisMin, histAxisMax], label="Intra distances", facecolor="b", edgecolor='g', linewidth=1)
Antworten