tight_layout and font hinting cuts text near the edge · Issue #11551 · matplotlib/matplotlib · GitHub | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

tight_layout and font hinting cuts text near the edge #11551

Open
@prekageo

Description

@prekageo

Bug report

I plot a figure with default configuration. I use 8 point fonts and tight_layout. In the resulting PDF, the x and y labels are cut.

Code for reproduction

import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt

matplotlib.rcParams['font.size'] = 8
# matplotlib.rcParams['text.hinting'] = 'none' # uncomment to fix problem

plt.figure(figsize=(.5,.5))
plt.xlabel('qyg')
plt.ylabel('ETZ')
plt.yticks([])
plt.xticks([])
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.gca().spines['left'].set_visible(False)
plt.tight_layout(pad=0)
plt.savefig('output.pdf')

Actual outcome

bad.pdf

Expected outcome

good.pdf

Matplotlib version

  • Operating system: Ubuntu 16.04.2 LTS
  • Matplotlib version: commit 0f05cf4
  • Matplotlib backend (print(matplotlib.get_backend())): agg
  • Python version: 3.5.2
  • Jupyter version (if applicable):
  • Other libraries:

The font used is the default matplotlib font:

$ md5sum DejaVuSans.ttf
49c0f03ec2fa354df7002bcb6331e106  DejaVuSans.ttf

I believe that the problem is here:
https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/backends/backend_agg.py#L232
https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/backends/backend_pdf.py#L2144

As you can see the PDF backend always uses LOAD_NO_HINTING while the Agg backend uses whatever the user specifies. The only workaround that I've found is enabling the commented out line in the testcase above.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      TMZ Celebrity News – Breaking Stories, Videos & Gossip

      Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

      Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

      🎥 Watch TMZ Live

      TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.