3 votes

Aligner les lignes horizontales et verticales sur des pixels entiers dans matplotlib

Je veux dessiner quelques lignes verticales et horizontales pour occuper des pixels entiers à l'écran, sans se répartir sur plusieurs pixels (rendu, anti-crénelé) comme d'habitude. Y a-t-il une transformation T() telle que

vlines( T(x), T(ylo), T(yhi), linewidth=Twidth(.5) )

dessine des pixels entiers ? Ou, y a-t-il un moyen de dire à certain backend Mac (j'utilise Qt4agg) de le faire ?

3voto

Joe Kington Points 68089

Voulez-vous simplement désactiver l'antialiasing?

Par exemple:

import matplotlib.pyplot as plt

x = [1, 4, 7]
ylow = [0, 3, -2]
yhigh = [1, 4, 2]
width = [8, 15, 6]

plt.vlines(x, ylow, yhigh, linewidth=width,
           antialiased=False)
plt.axis([0, 8, -4, 5])
plt.show()

description de l'image

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X