Gab*_*iel 10 python plot axis axes matplotlib
我想用matplotlib创建一个图形,我可以明确指定轴的大小,即我想设置轴bbox的宽度和高度.
我到处都看了,我找不到解决方案.我通常会发现如何调整整个图形的大小(包括刻度和标签),例如使用fig, ax = plt.subplots(figsize=(w, h))
这对我来说非常重要,因为我希望轴的比例为1:1,即纸中的1个单位实际上等于1个单位.例如,如果xrange为0到10,主刻度线= 1且x轴为10cm,则1主刻度= 1cm.我将这个数字保存为pdf,将其导入乳胶文档.
这个问题带来了类似的话题,但答案并没有解决我的问题(使用plt.gca().set_aspect('equal', adjustable='box')代码)
从另一个问题我看到可以获得轴的大小,但不能明确地修改它们.
任何想法我如何设置轴盒大小而不仅仅是图形大小.图形尺寸应适应轴尺寸.
谢谢!
Imp*_*est 17
轴尺寸由图形尺寸和图形间距决定,可以使用figure.subplots_adjust().相反,这意味着您可以通过设置数字大小设置轴大小来计算数字间距:
import matplotlib.pyplot as plt
def set_size(w,h, ax=None):
""" w, h: width, height in inches """
if not ax: ax=plt.gca()
l = ax.figure.subplotpars.left
r = ax.figure.subplotpars.right
t = ax.figure.subplotpars.top
b = ax.figure.subplotpars.bottom
figw = float(w)/(r-l)
figh = float(h)/(t-b)
ax.figure.set_size_inches(figw, figh)
fig, ax=plt.subplots()
ax.plot([1,3,2])
set_size(5,5)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28084 次 |
| 最近记录: |