plt.show и plt.savefig дают разные результаты - PullRequest
1 голос
/ 31 октября 2019

Это мой код, и я получаю разные результаты от plt.savefig и plt.show

Я попытался использовать bbox_inches = 'sharp', но из-за этого размер изображения становится не совсем 700 *400.

x=np.linspace(1*13,20*13,20)
ys=[[9.429781134779862, 5.29464711177, 3.607607723166614, 2.899937651340496, 2.191804841696895, 1.9843671555485882, 1.7248100121771586, 1.3670895074513212, 1.3698780260605596, 1.2462146230823874, 1.1289892836337199, 1.032841253332204, 0.9543441746831577, 0.7484693801176594, 0.8376893177858197, 0.7849478402160176, 0.7434280956345902, 0.7000987139186625, 0.665212069607791, 0.6300403225806451], [126.98106331402796, 53.50512044002611, 30.074826167504753, 24.227858160427186, 16.471886607532593, 14.13705307473836, 11.449887848348526, 8.72965989245059, 8.840716805318575, 7.263008047412916, 6.293385023002322, 5.634501177610746, 4.6241919224615495, 3.9431399223201433, 3.937845053672828, 3.578854694920532, 3.3610282057487026, 2.947140095251568, 2.629807287721956, 2.5260498894853174]]
plt.figure(figsize=(7,4))
plt.plot(x, ys[0], marker='o',markersize=10,  label='original method')
plt.plot(x, ys[1], marker='s',markersize=10,   label='our method')

plt.xlabel('Number of trajectories(×1000)',fontsize=20)
plt.ylabel("QPS",fontsize=20)  
plt.yscale('log')
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.legend(fontsize=20)
plt.savefig("../res/dense.png",dpi=plt.gcf().dpi)
plt.show()

Это две картинки, которые я получил от savefig () и show ()

savefig gives me this

show gives me this

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете использовать:

plt.show() до

plt.savefig("../res/dense.png",dpi=plt.gcf().dpi)

Это просто вопрос соглашения. Когда мы вызываем plt.savefig ссылка на всю переменную до plt.savefig, после этого любому утверждению соответствует новый сюжет.

Вы можете принять ответ. Если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...