Stu*_*art 50 python graph axes matplotlib
我想绘制带有pylot的标准2D线图,但强制轴的值在x上介于0和600之间,y上强制介于10k和20k之间.让我举个例子......
import pylab as p
p.title(save_file)
p.axis([0.0,600.0,1000000.0,2000000.0])
#define keys and items elsewhere..
p.plot(keys,items)
p.savefig(save_file, dpi=100)
Run Code Online (Sandbox Code Playgroud)
但是,轴仍然可以调整到数据大小.我正在解释p.axis的效果是设置max和min可能是什么,而不是强制它们是max或min.当我尝试使用p.xlim()等时会发生同样的情况.
有什么想法吗?
谢谢.
Sim*_*ker 35
p.plot设置限制后调用是重新缩放的原因.你处于一个转折点关闭自动缩放将得到正确的答案是正确的,但这样会打电话xlim()或ylim() 后您的plot命令.
我用这个很多来反转x轴,我在天文学工作,我们使用一个向后的幅度系统(即更亮的恒星具有更小的幅度)所以我通常用
lims = xlim()
xlim([lims[1], lims[0]])
Run Code Online (Sandbox Code Playgroud)
Stu*_*art 26
要回答我自己的问题,诀窍是关闭自动缩放...
p.axis([0.0,600.0, 10000.0,20000.0])
ax = p.gca()
ax.set_autoscale_on(False)
Run Code Online (Sandbox Code Playgroud)
tk_*_*963 11
我尝试了以上所有这些答案,然后我总结了如何绘制固定轴图像的管道.它适用于show功能和savefig功能.
在你绘图之前:
fig = pylab.figure()
ax = fig.gca()
ax.set_autoscale_on(False)
Run Code Online (Sandbox Code Playgroud)这是请求ax哪个是subplot(1,1,1).
情节期间:
ax.plot('You plot argument') # Put inside your argument, like ax.plot(x,y,label='test')
ax.axis('The list of range') # Put in side your range [xmin,xmax,ymin,ymax], like ax.axis([-5,5,-5,200])
Run Code Online (Sandbox Code Playgroud)情节之后:
要显示图像:
fig.show()
Run Code Online (Sandbox Code Playgroud)要保存图:
fig.savefig('the name of your figure')
Run Code Online (Sandbox Code Playgroud)我发现,放axis即使我已经设定在代码前将无法正常工作autoscale_on到False.
我用这段代码创建了一系列动画.以下是将多个固定轴图像组合成动画的示例.

| 归档时间: |
|
| 查看次数: |
124908 次 |
| 最近记录: |