Как контролировать размер/разрешение/масштаб сохраненного изображения в matplotlib Python?Python

Программы на Python
Anonymous
 Как контролировать размер/разрешение/масштаб сохраненного изображения в matplotlib Python?

Сообщение Anonymous »

Я изучаю модули numpy и matplotlib и не совсем понимаю, как управлять параметрами масштабирования конечного изображения.
Вот пример, с которым я работаю:

Код: Выделить всё

import os
import sys
import numpy as np
import matplotlib.pyplot as plt

def main():
file_web_traffic = 'web_traffic.tsv'
np_data = np.genfromtxt(file_web_traffic, delimiter='\t')

x = np_data[:,0][~np.isnan(np_data[:,1])]
y = np_data[:,1][~np.isnan(np_data[:,1])]

plt.scatter(x, y)
plt.title('Web traffic over the last month')
plt.xlabel('Time')
plt.ylabel('Hits/hour')
plt.xticks([w*7*24 for w in range(10)], ['week %i '%w for w in range(10)])
plt.autoscale(tight=True)
plt.grid()

# The name of that image is image1.png
plt.show()
# after image is displayed I increase size of the window by drugging right
# lower corner down. And then save the image using the icon "Save".

# Than I save another image here:
fp1 = np.polyfit(x, y, 3)
f1 = np.poly1d(fp1)
fx = np.linspace(0, x[-1], 1000)
plt.plot(fx, f1(fx), linewidth=4)
plt.legend(['d=%i' % f1.order], loc='upper left')
plt.savefig('image2.png')

if __name__ == "__main__":
main()
sys.exit(0)

Здесь прикреплены созданные изображения.
image1
Изображение
image2
Изображение

Как видите, они выглядят по-разному. Первое (увеличенное вручную) имеет «тонкие» точки.
Второе выглядит «грубым».
Я пытался контролировать внешний вид второго изображения, устанавливая другой размер в дюймах, dpi или разрешение. Без влияния на внешний вид изображения. Изображение увеличивается в размерах, но остается «грубым».
Что именно меняется в представлении изображения, когда я подтягиваю угол окна и делаю изображение масштабным?
Как добиться того же эффекта, установив правильные параметры изображения?

Подробнее здесь: https://stackoverflow.com/questions/797 ... matplotlib

Вернуться в «Python»