Если вы уже создали фигуру, вы можете быстро это сделать:
fig = matplotlib.pyplot.gcf()
fig.set_size_inches(18.5, 10.5)
fig.savefig('test2png.png', dpi=100)
Чтобы распространить изменение размера на существующее gui-окно, добавьте forward=True
fig.set_size_inches(18.5, 10.5, forward=True)
Эти статьи дают хорошее объяснение:
Первая ссылка отмечает, что
«Есть варианты использования где вам может понадобиться получить объект Request внутри Sling Model или вы хотите адаптировать вашу Sling Model с помощью объекта SlingHttpServletRequest (где вы не хотите создавать объект ресурса). "
blockquote>Во второй ссылке упоминается
«Многие проекты Sling хотят иметь возможность создавать объекты модели - POJO, которые автоматически сопоставляются с объектами Sling, обычно ресурсами, но также запрашивают объекты. Иногда этим POJO нужны службы OSGi, как хорошо. "
blockquote>То есть, используете ли вы один адаптируемый или другой (или оба сразу), зависит от того, что вам нужно в вашей модели. В этом примере он создает модель, которая должна считывать некоторые значения из ресурса, а другие - из запроса, поэтому адаптируемость, которую вы будете использовать, зависит от того, какие значения вам нужны в вашей модели. Вот пример класса в этой первой ссылке, который показывает «сообщение», которому нужны данные из ресурса (имя и фамилия) и данные из запроса (путь):
package com.aem.core.models; import javax.annotation.PostConstruct; import javax.inject.Inject; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.resource.Resource; import org.apache.sling.models.annotations.Model; import org.apache.sling.models.annotations.Via; import org.apache.sling.models.annotations.injectorspecific.SlingObject; import org.apache.sling.models.annotations.DefaultInjectionStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Model(adaptables = {SlingHttpServletRequest.class, Resource.class}, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public class AdaptationModel { Logger logger = LoggerFactory.getLogger(this.getClass()); private String message; @SlingObject private SlingHttpServletRequest request; @Inject @Via("resource") private String firstName; @Inject @Via("resource") private String lastName; @PostConstruct protected void init() { message = "Hello World\n"; if (request != null) { this.message += "Request Path: "+request.getRequestPathInfo().getResourcePath()+"\n"; } message += "First Name: "+ firstName +" \n"; message += "Last Name: "+ lastName + "\n"; logger.info("inside post construct"); } public String getMessage() { return message; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } }