Один из способов автоматического выполнения этого - bbox_inches='tight'
kwarg в plt.savefig
.
Например
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(3000).reshape((100,30))
plt.imshow(data)
plt.savefig('test.png', bbox_inches='tight')
Другой способ - использовать fig.tight_layout()
import matplotlib.pyplot as plt
import numpy as np
xs = np.linspace(0, 1, 20); ys = np.sin(xs)
fig = plt.figure()
axes = fig.add_subplot(1,1,1)
axes.plot(xs, ys)
# This should be called after all axes have been added
fig.tight_layout()
fig.savefig('test.png')
Даже я столкнулся с теми же проблемами, но понял после нескольких исследований и обнаружил
Была ошибка / или они могли изменить поведение в <version>4.0.0</version> and <version>4.0.1</version>
Apache Poi для
sheet1.shiftRows(rowIndex+1, lastIntext, -1);
Пожалуйста, используйте
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
И используйте свой код гораздо лучше, чтобы удалить вашу строку, как это
public static void removeRow(Sheet sheet, int rowIndex) {
int lastRowNum = sheet.getLastRowNum();
if (rowIndex >= 0 && rowIndex < lastRowNum) {
sheet.shiftRows(rowIndex + 1, lastRowNum, -1);
}
if (rowIndex == lastRowNum) {
Row removingRow = sheet.getRow(rowIndex);
if (removingRow != null) {
sheet.removeRow(removingRow);
}
}
}
И это сработало для меня. Может быть, они могут обновить его в следующих выпусках API
Спасибо, если это помогло бы вам