Unicode-Zeichen machen

Ich kann keinen Weg finden, die Unicode-Zeichen im Matlibplot-Diagramm zu rendern:

# -*- coding: utf-8 -*- import matplotlib.pyplot as plt from numpy.random import normal from itertools import count import matplotlib a = {u'\u043f\u0430\u0440\u0435\u0430\u0442\u0430': 0.018144370928201092, u'\u0440\u0435\u043b\u0430\u0442\u0438\u0432\u0438\u0442\u0438\u0441\u0442\u0438\u0447\u043a\u0430\u0442\u0430': 0.008406336989671147, u'\u043d\u0430\u043e\u0453\u0430': 0.0704839024518581, u'\u0444\u0438\u0437\u0438\u043a\u0430': 0.025219010969013446, u'\u043a\u043e\u0438': 0.0039908251856718025, u'\u0438\u0437\u0431\u0443\u0432\u043d\u0430\u043b\u0430': 0.0035792606713834184, u'\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0430\u0442\u0430': 0.008406336989671147, u'\u043c\u0438\u043a\u0440\u043e\u0434\u0438\u043c\u0435\u043d\u0437\u0438\u0438': 0.008406336989671147, u'\u0434\u0430\u0432\u0430': 0.016812673979342295, u'\u0441\u0442\u0440\u0430\u043d\u0430': 0.008406336989671147} plt.bar(*zip(*zip(count(), a.values()))) plt.title("Some chart") plt.xticks(*zip(*zip(count(0.4), (a.keys())))) plt.xlabel("Value") plt.ylabel("Frequency") plt.show() 

One Solution collect form web for “Unicode-Zeichen machen”

Geben Sie eine Schriftart mit kyrillischen Zeichen an. Beispielsweise,

 import matplotlib as mpl mpl.rcParams['font.family'] = 'Arial' 

Ihre Standardschriftart könnte 'Helvetica' , die keine Glyphen für die erforderlichen Zeichen hat.


 import matplotlib.pyplot as plt from numpy.random import normal from itertools import count import matplotlib as mpl mpl.rcParams['font.family'] = 'Arial' a = {u'\u043f\u0430\u0440\u0435\u0430\u0442\u0430': 0.018144370928201092, u'\u0440\u0435\u043b\u0430\u0442\u0438\u0432\u0438\u0442\u0438\u0441\u0442\u0438\u0447\u043a\u0430\u0442\u0430': 0.008406336989671147, u'\u043d\u0430\u043e\u0453\u0430': 0.0704839024518581, u'\u0444\u0438\u0437\u0438\u043a\u0430': 0.025219010969013446, u'\u043a\u043e\u0438': 0.0039908251856718025, u'\u0438\u0437\u0431\u0443\u0432\u043d\u0430\u043b\u0430': 0.0035792606713834184, u'\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0430\u0442\u0430': 0.008406336989671147, u'\u043c\u0438\u043a\u0440\u043e\u0434\u0438\u043c\u0435\u043d\u0437\u0438\u0438': 0.008406336989671147, u'\u0434\u0430\u0432\u0430': 0.016812673979342295, u'\u0441\u0442\u0440\u0430\u043d\u0430': 0.008406336989671147} plt.bar(*zip(*zip(count(), a.values()))) plt.title("Gaussian Histogram") plt.xticks(*zip(*zip(count(0.4), a.keys()))) plt.xlabel("Value") plt.ylabel("Frequency") plt.show() 

Bildbeschreibung hier eingeben


Wenn Sie nicht über die Arial Schriftart verfügen, können Sie eine Liste der Schriftarten erstellen, die Ihrem System bekannt sind

 import matplotlib.font_manager as font_manager print(sorted(font_manager.findSystemFonts())) 

Sie können dann die Schriften mit ausprobieren

 prop = font_manager.FontProperties(fname=path) mpl.rcParams['font.family'] = prop.get_name() 

Wo path ist einer der Pfade, die von findSystemFonts() .

  • Zipf-Verteilung mit Matplotlib, FITTED-LINE herstellen
  • Erstellen eines Subplots anstelle von separaten Plots
  • Pyplot: Prozentsatz auf x-Achse verwenden
  • Wie man Daten über einen "Tageszeitraum" in Pandas für das Plotten überlagert
  • Python: Matplotlib - Wahrscheinlichkeitsdiagramm für mehrere Datensätze
  • Kontrollieren Sie einzelne Linienbreiten in seaborn heatmap
  • So erstellen Sie eine wiederverwendbare Grundkarte
  • Wie man eine 3D-Dichte Karte in Python mit Matplotlib zu plotten
  • Wie gebe ich eine Schrittfunktion mit Matplotlib in Python?
  • Python Basemap: Fehler mit shadedrelief, bluemarble oder etopo (false longitude format?)
  • Füge Echtzeit-Kanalanzeige zu PyQt hinzu
  • Python ist die beste Programmiersprache der Welt.