2016-08-15 3 views
0

にフェード私はcentos7マシン上で罰金表示されますが、別のcentos7マシン上で、フォントが軸と伝説にフェード表示されますmatplotlibのを使用してPythonコードを持って表示されます。 enter image description herematplotlibのロードされたフォントが別のマシン

私のフォントがあります/usr/share/fonts/MyFont フォントが表示されていることを確認しました /root/.cache/matplotlib/fontList.cache 削除して再生成しようとしました。

def plot(data, format='png', width=400, height=400, font='MyFont'): 
    font_size = max(3, int(width/40)) 
    plt.cla() 
    plt.clf() 
    matplotlib.rcParams.update({'font.size': font_size,\ 
           'font.family': font}) 
    fig = plt.figure() 
    _width = width/fig.get_dpi() 
    _height = height/fig.get_dpi() 
    fig.set_size_inches(_width, _height) 
    plt.xlabel('this is x axis') 
    plt.ylabel('this is y axis') 
    plt.legend(bbox_transform=plt.gcf().transFigure, loc=2) 
    x = [1,2,3,4] 
    y = x 
    plt.plot(x, y, color='b', label='line1') 
    plt.legend(bbox_transform=plt.gcf().transFigure, loc=2) 
    plt.title('this is title', fontweight='bold') 

更新:

私はこの問題は、私はそれがこの上でデフォルトとして正規取っている1つのオペレーティングシステム上ラト-Hairline.ttfとラト-Regular.ttfとを持っているということだと思います新しいマシンそれはとても退色するデフォルトとしてヘアラインを取っています。

答えて

0

私はLato-HairlineItalic.ttfLato-Hairline.ttfを削除してから /root/.cache/matplotlib/fontList.cacheを削除しました。 これはmatplotlibに、フォントの適切な通常の形式である他のttfファイルを選択させました。 私はまだmatplotlibがどのフォントが正規の形式(デフォルト)であるかを判断して、異なるセントロのマシンでランダムに動作するようにしたいと考えています。

関連する問題