2014-09-28 8 views
12

मैं अपने matplotlib भूखंडों में फ़ॉन्ट "हेरिस्टिका" का उपयोग करने की कोशिश कर रहा हूं, लेकिन यह दिखाई नहीं देगा।matplotlib फ़ॉन्ट नहीं मिला

मैं rcParameter में पहली मौके पर ही "Heuristica" परिभाषित font.serif -> कोई परिणाम

मैं "Heuristica" करने के लिए बदल गया है और font.family संदेश

findfont: FontFamily not found 

कि मिल गया मिल गया मुझे सोच रहा है, क्योंकि हेरिस्टिका स्थापित है और मैं समस्याओं के बिना अन्य सॉफ्टवेयर से इसे एक्सेस कर सकता हूं। इसलिए मैं fontManager का इस्तेमाल किया और आपने क्या किया:

import pylab as pl 
la = pl.matplotlib.font_manager.FontManager() 
lu = pl.matplotlib.font_manager.FontProperties(family = 'Heuristica') 
la.findfont(lu) 

और मिल गया:

Out[7]: 'C:\\Windows\\Fonts\\Heuristica-Regular.otf' 

तो जाहिर है Heuristica पाया जा सकता है। मैंने उपलब्ध ttf-Fonts (How can i get list of font family(or Name of Font) in matplotlib) देखा लेकिन हेरिस्टिका इस सूची में नहीं है।

मुझे किसी भी मदद के बारे में खुशी होगी।

+0

एमपीएल किस संस्करण का उपयोग कर रहे हैं? – tacaswell

+0

मैं संस्करण 1.3.1 – MichaelA

+0

का उपयोग कर रहा हूं 1.4.0 को अद्यतन करने का प्रयास करें। यदि यह काम नहीं करता है तो कृपया github – tacaswell

उत्तर

25

खैर, mdboom समस्या github पर अधिक हल, सारा श्रेय उसे के अंतर्गत आता है:

जब आप अपने सिस्टम के लिए नए फोंट जोड़ने के लिए, आप के लिए matplotlib इसके लिए आपको अपना fontList.cache फ़ाइल को नष्ट करने की जरूरत है उनको ढूंढो।

आपके उदाहरण में यह लाइन 4/5 पर काम करने का कारण यह है कि आप स्क्रैच से एक फ़ॉन्टमैनेजर बना रहे हैं (जो फाइल सिस्टम पर जाता है और सभी फोंट को शिकार करता है)। आंतरिक रूप से, जब matplotlib बाद में अपना फ़ॉन्ट लुकअप करता है, तो यह FontManager का उपयोग कर रहा है जिसे fontList.cache फ़ाइल में डिस्क पर कैश से लोड किया गया है।

दीर्घकालिक, हम इस समस्या को हल करने के लिए ओएस के फ़ॉन्ट लुकअप तंत्र का उपयोग करने के लिए स्विच करने की योजना बना रहे हैं, (एमईपी 14 देखें), लेकिन इस बीच, आपको हर बार fontList.cache फ़ाइल को हटाने की आवश्यकता होगी नए फ़ॉन्ट्स खोजने के लिए matplotlib चाहते हैं।

फ़ाइल fontList.cache अपने Userfolder पर स्थित है -> .matplotlib/fontList.cache, विंडोज के लिए सामान्य रूप से रहता है कि C:\Users\yourUsername\.matplotlib\fontList.cache

+9

'~/.cache/matplotlib' उबंटू पर। –

+0

फिर भी, यह काम नहीं करता है, फ़ॉन्ट प्रबंधक कोई उचित फ़ॉन्ट नहीं ढूंढ पा रहा है। –

+1

मैंने केवल विंडोज़ पर समाधान की कोशिश की और लिनक्स पर परीक्षण नहीं कर सकता। लेकिन शायद आप github Issue में कुछ जोड़ना चाहते हैं, जो शायद बगफिक्स प्राप्त करने का सबसे अच्छा तरीका है: https: // github।कॉम/matplotlib/matplotlib/मुद्दों/3590 – MichaelA

संबंधित मुद्दे