-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Open
Labels
backend: aggkeepItems to be ignored by the “Stale” Github ActionItems to be ignored by the “Stale” Github Actionstatus: confirmed bugstatus: has patchpatch suggested, PR still neededpatch suggested, PR still needed
Milestone
Description
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).
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.
Metadata
Metadata
Assignees
Labels
backend: aggkeepItems to be ignored by the “Stale” Github ActionItems to be ignored by the “Stale” Github Actionstatus: confirmed bugstatus: has patchpatch suggested, PR still neededpatch suggested, PR still needed

