解決しようとしている簡単な質問があります。約 2000 個のファイルを処理し、画像を生成し、画像を PDF または画像形式で保存するスクリプトがあります。しかし、画像が画面に表示されないようにすることはできません。読んで調べましたが、問題を解決できませんでした。Matplotlib でセットアップされたバックエンドに何か問題があると思います。しかし、私はその専門家ではありません。ウェブサイトに記載されているように matplotlib.use('Agg') を使用してみましたが、役に立ちませんでした。ですから、何が問題なのかを理解するのを手伝っていただければ幸いです。どうもありがとう!
システム: Ubuntu 13.04 Matplotlib: 1.2.1 Python 2.7.4
私のスクリプトの一部をインポートする方法は次のとおりです。
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, AutoMinorLocator, ScalarFormatter
from pylab import *
編集:より多くのコードを投稿します。それはほんの一部です。私は機能を持っています:
def plot_vi(t, s1, s2, s3, charttitle, chartnote, celllocation, filename):
fig = plt.figure(figsize=(16, 12))
ax1 = fig.add_subplot(111)
l1, = ax1.plot(t, s1, 'r-', linewidth=0.7)
l2, = ax1.plot(t, s3, '-', linewidth=0.7, color='#00ff00')
ax1.set_xlabel('Test Time (hours)')
# Make the y-axis label and tick labels match the line color.
ax1.set_ylabel('Voltage (Volts)', color='r')
for tl in ax1.get_yticklabels():
tl.set_color('r')
ax2 = ax1.twinx()
l3, = ax2.plot(t, s2, 'b-', linewidth=0.7)
ax2.set_ylabel('Current (Amps)', color='b')
for tl in ax2.get_yticklabels():
tl.set_color('b')
minorLocator = AutoMinorLocator()
ax2.xaxis.set_minor_locator(minorLocator)
majorLocator = MultipleLocator(1)
minorLocator = MultipleLocator(0.2)
ax2.yaxis.set_major_locator(majorLocator)
ax2.yaxis.set_minor_locator(minorLocator)
majorLocator = MultipleLocator(0.1)
minorLocator = MultipleLocator(0.02)
ax1.yaxis.set_major_locator(majorLocator)
ax1.yaxis.set_minor_locator(minorLocator)
ax1.xaxis.grid(color='gray')
ax1.yaxis.grid(color='gray')
lgd = legend([l1, l3, l2], ['voltage', 'current', 'auxiliary'], bbox_to_anchor=(1.05, 1), loc=2)
title(charttitle, fontsize=16)
figtext(0.01, 0.027, chartnote, color='#707070')
figtext(0.01, 0.01, celllocation, color='#707070')
fig.subplots_adjust(right=0.85)
plt.savefig(filename, dpi=100)plot_vi(t, s1, s2, s3, ChartTitle, ChartNote, CellLocation, PLOTFILENAME)
plt.savefig(pp, format='pdf')
次に、その関数を実行しました:
plot_vi(t, s1, s2, s3, ChartTitle, ChartNote, CellLocation, PLOTFILENAME)
plt.savefig(pp, format='pdf')