你如何改变用matplotlib绘制的图形的大小?
我正在编写一个快速而肮脏的脚本来动态生成绘图.我使用下面的代码(来自Matplotlib文档)作为起点:
from pylab import figure, axes, pie, title, show
# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]
explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})
show() # Actually, don't show, just save to foo.png
Run Code Online (Sandbox Code Playgroud)
我不想在GUI上显示绘图,相反,我想将绘图保存到文件(例如foo.png),因此,例如,它可以在批处理脚本中使用.我怎么做?
我有一系列20个图(不是子图)可以在一个图中制作.我希望传说能够在盒子之外.同时,我不想改变轴,因为图形的大小减少了.请帮助我以下查询:
我试图在MacOS X上使用Python 2.7.2和IPython 1.1.0上的IPython笔记本.
我无法让matplotlib图形显示为内联.
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
我也试过%pylab inline和ipython命令行参数,--pylab=inline但这没有区别.
x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()
Run Code Online (Sandbox Code Playgroud)
而不是内联图形,我得到这个:
<matplotlib.figure.Figure at 0x110b9c450>
Run Code Online (Sandbox Code Playgroud)
并matplotlib.get_backend()表明我有'module://IPython.kernel.zmq.pylab.backend_inline'后端.
python data-visualization matplotlib ipython jupyter-notebook
Matplotlib提供以下功能:
cla() # Clear axis
clf() # Clear figure
close() # Close a figure window
Run Code Online (Sandbox Code Playgroud)
该文档没有提供很多关于这些功能之间的区别的见解.我什么时候应该使用每个功能,它究竟做了什么?
我在安装matplotlib软件包后无法将matplotlib.pyplot作为plt导入.任何建议都将非常感激.
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/backends/__init__.py", line 28, in pylab_setup
globals(),locals(),[backend_name],0)
File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/backends/backend_macosx.py", line 21, in <module>
from matplotlib.backends import _macosx
**RuntimeError**: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the …Run Code Online (Sandbox Code Playgroud) 如何在matplotlib图上更改所有元素(刻度,标签,标题)的字体大小?
我知道如何更改刻度标签尺寸,这是通过以下方式完成的:
import matplotlib
matplotlib.rc('xtick', labelsize=20)
matplotlib.rc('ytick', labelsize=20)
Run Code Online (Sandbox Code Playgroud)
但是如何改变其余部分呢?
我正在Matplotlib中创建一个像这样的人物:
from matplotlib import pyplot as plt
fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')
Run Code Online (Sandbox Code Playgroud)
我想指定图标题和轴标签的字体大小.我需要三个不同的字体大小,所以设置全局字体大小(mpl.rcParams['font.size']=x)不是我想要的.如何单独设置图标题和轴标签的字体大小?
有时我遇到这样的代码:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
哪个产生:

我一直在疯狂阅读文档,但我无法找到解释111.有时我看到了212.
这个论点fig.add_subplot()意味着什么?
我试图修复python如何绘制我的数据.
说
x = [0,5,9,10,15]
Run Code Online (Sandbox Code Playgroud)
和
y = [0,1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
然后我会这样做:
matplotlib.pyplot.plot(x,y)
matplotlib.pyplot.show()
Run Code Online (Sandbox Code Playgroud)
并且x轴'刻度以5为间隔绘制.有没有办法让它显示间隔为1?