【发布时间】:2014-05-03 09:54:24
【问题描述】:
我正在尝试用 Python 绘制一个简单的饼图。我可以自己制作饼图,但标签没有显示出来。
这是我的代码:
from pylab import *
frac = [10, 40, 15, 35]
labels = ['Part A', 'Part B', 'Part C', 'Part D']
explode = [0.03, 0.03, 0.03, 0.03]
# Create pie chart
pie(frac, explode, labels, shadow=True)
# Give it a title
title('Pie Chart')
# Save the plot to a PDF file
savefig('Pie Chart.pdf', dpi=200, format='PDF')
这是我在构建它时遇到的错误:
Traceback (most recent call last):
File "H:\Projects\Developing Quality Software\simple pie chart.py", line 13, in <module>
savefig('Pie Chart.pdf', dpi=200, format='PDF')
File "C:\PYTHON27\lib\site-packages\matplotlib\pyplot.py", line 561, in savefig
return fig.savefig(*args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\figure.py", line 1421, in savefig
self.canvas.print_figure(*args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\backends\backend_wxagg.py", line 85, in print_figure
FigureCanvasAgg.print_figure(self, filename, *args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\backend_bases.py", line 2220, in print_figure
**kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\backend_bases.py", line 1952, in print_pdf
return pdf.print_pdf(*args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\backends\backend_pdf.py", line 2340, in print_pdf
self.figure.draw(renderer)
File "C:\PYTHON27\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\figure.py", line 1034, in draw
func(*args)
File "C:\PYTHON27\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\axes.py", line 2086, in draw
a.draw(renderer)
File "C:\PYTHON27\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\PYTHON27\lib\site-packages\matplotlib\text.py", line 547, in draw
bbox, info, descent = self._get_layout(renderer)
File "C:\PYTHON27\lib\site-packages\matplotlib\text.py", line 320, in _get_layout
ismath=False)
File "C:\PYTHON27\lib\site-packages\matplotlib\backends\backend_pdf.py", line 1965, in get_text_width_height_descent
font = self._get_font_ttf(prop)
File "C:\PYTHON27\lib\site-packages\matplotlib\backends\backend_pdf.py", line 1997, in _get_font_ttf
filename = findfont(prop)
File "C:\PYTHON27\lib\site-packages\matplotlib\font_manager.py", line 1362, in findfont
font = fontManager.findfont(prop, **kw)
File "C:\PYTHON27\lib\site-packages\matplotlib\font_manager.py", line 1258, in findfont
_rebuild()
File "C:\PYTHON27\lib\site-packages\matplotlib\font_manager.py", line 1343, in _rebuild
pickle_dump(fontManager, _fmcache)
File "C:\PYTHON27\lib\site-packages\matplotlib\font_manager.py", line 939, in pickle_dump
with open(filename, 'wb') as fh:
IOError: [Errno 13] Permission denied: 'C:\\Users\\c1366554\\.matplotlib\\fontList.cache'
[Finished in 1.7s with exit code 1]
我看到了很多关于 IOError: [ErrNo13] 的其他问题,所以如果答案在某处,我深表歉意,但我通读了所有这些问题,但我仍然不明白为什么我会收到这个错误。我从来没有遇到过权限问题。
如果我注释掉标题/标签部分,那么我可以生成一个没有错误的饼图 PDF。我只需要一种方法来识别饼图的楔形 - 无论是标签、图例还是其他任何东西。
【问题讨论】:
标签: python charts matplotlib ioerror pie-chart