Does anyone know what could be the reason my matplotlib plot appears "broken" when I print it in PDF through reportlab.
So, this is the Python code I am using:
list = range(6)
fig = plt.figure(figsize=(10, 4))
ax = plt.subplot(111)
ax.plot(list, [2*x for x in list] , label='y = 2x')
ax.plot(list, [0.5*x for x in list], label='y = 0.5*x')
ax.plot(list, list, label='y = x')
plt.xlabel('x')
plt.ylabel('y')
plt.title("Sample Plot")
plt.grid(True, which='major', axis='y')
box = ax.get_position()
ax.set_position([box.x0, box.y0 + box.height * 0.1, box.width, box.height * 0.9])
ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.1), ncol=3,
fontsize='small')
plt.savefig('test.png',dpi=1000)
c = canvas.Canvas("hello.pdf")
c.drawImage('test.png', 100, 600, width=4 * 100, height=4 * 40)
c.showPage()
c.save()
The matplotlib test.png output looks fine:
However, the same image in the hello.pdf file looks quite bad: