, как предполагает user1127062, возможно, ваш код в порядке.
Если вам не нужен интерактивный график, сохраните его как svg
Если вы запустите:
data = numpy.random.randn(10000)
pylab.hist(data,300)
pylab.savefig(fileName+'.svg',format='svg')
вы увидите псевдонимы пикселей (в полосах ширины) в окне рисунка, но он исчез в файле svg.
Кажется, что бэкэнд "cairo" выполняетЛучшая работа по сохранению файлов PNG, если SVG не совместимы с тем, что вы делаете.Они выглядят так же хорошо, как скриншот svg.
Вы можете переключить бэкэнд, запустив.
import matplotlib
# you have to change the backend before importing pylab
matplotlib.use('cairo')
import pylab
raw "cairo" не поддерживает show()
, поэтому вы не можете использовать его в интерактивном режиме или для отображениясюжет прямо из программы.
Бэкенд "GTKCairo" имеет лучшее из обоих миров, но не включен в установку по умолчанию (по крайней мере, не в том, что я получил с sudo apt-get install matplotlib
)
Если выиспользуя Ubuntu, я думаю, все, что вам нужно сделать, чтобы заставить его работать, это установить gtk и перекомпилировать matplotlib:
sudo apt-get install git-core python-gtk2-dev
git clone git://github.com/matplotlib/matplotlib.git
cd matplotlib
sudo python setup.py install
Вы можете проверить, какой бэкэнд активен с:
matplotlib.get_backend()
Youможно автоматически загрузить ваш любимый бэкэнд, отыскивая ваш matplotlibrc
файл, который я нашел в:
/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc