Bug report
Depending on DPI, a figure saved as PNG is missing some short lines.
Code for reproduction
import matplotlib
from matplotlib import pyplot as plt
import numpy as np
matplotlib.use('agg')
# Generate a set of 50 random points.
np.random.seed(0)
all_x, all_y = (np.random.rand(50) for _ in range(2))
# Scatter dots in blue.
plt.scatter(all_x, all_y, c='blue', s=2)
# Plot very short lines (length 0.001) in red with a small offset on Y.
for x, y in zip(all_x, all_y):
plt.plot((x, x + 0.001), (y + 0.01, y + 0.01), c='red', linewidth=2)
# Save with different resolutions
plt.savefig('bug_96.png', dpi=96)
plt.savefig('bug_300.png', dpi=300)
Actual outcome
Depending on export DPI, some short segments (in red, added by plot()) are missing, while all dots (in blue, added by scatter() are always present).
At 96 DPI:

At 300 DPI:

Expected outcome
The segments should be always present, regardless of the resolution.
Matplotlib version
- Operating system: Ubuntu 20.04.2 LTS
- Matplotlib version (
import matplotlib; print(matplotlib.__version__)): 3.4.2
- Matplotlib backend (
print(matplotlib.get_backend())): agg
- Python version: 3.8.5
Python is installed via apt-get, Matplotlib installed system-wide using PIP.
Bug report
Depending on DPI, a figure saved as PNG is missing some short lines.
Code for reproduction
Actual outcome
Depending on export DPI, some short segments (in red, added by
plot()) are missing, while all dots (in blue, added byscatter()are always present).At 96 DPI:

At 300 DPI:

Expected outcome
The segments should be always present, regardless of the resolution.
Matplotlib version
import matplotlib; print(matplotlib.__version__)): 3.4.2print(matplotlib.get_backend())):aggPython is installed via apt-get, Matplotlib installed system-wide using PIP.