簡體   English   中英

matplotlib 文本 alignment 當使用 latex

[英]matplotlib text alignment when using latex

之前,這段代碼:

import matplotlib.pyplot as plt

plt.rcParams.update({
    "text.usetex": True})

plt.plot([0, 1], [0, 1])
plt.xlabel('hello\nnew world')

在 x label 中生成了一個以 alignment 為中心的 plot,如下所示: 在此處輸入圖像描述

但現在我得到了這個左對齊的文本:

在此處輸入圖像描述

我不確定 matplotlib 或 latex 版本是否更改,但想知道我應該如何調整我的代碼以返回到通常的中心 alignment。

謝謝!

相關問題: matplotlib 圖的乳膠渲染文本中的中心標題

添加plt.rcParams['text.latex.preamble'] = r'\centering'解決了這個問題。 這是完整的代碼:

import matplotlib.pyplot as plt

plt.rcParams.update({
    "text.usetex": True})

plt.rcParams['text.latex.preamble'] = r'\centering'

plt.figure(figsize=(2,2))
plt.plot([0, 1], [0, 1])
plt.xlabel('hello \n new world')

在此處輸入圖像描述

\n可以替換為\\\\\newline (因為需要額外的\作為轉義字符)或\linebreak (這樣它就不會開始一個新段落)。

另一種選擇是將居中放在本地:

import matplotlib.pyplot as plt

plt.rcParams.update({
    "text.usetex": True})

plt.figure(figsize=(2,2))
plt.plot([0, 1], [0, 1])
plt.xlabel('\\begin{center} hello \linebreak new world \end{center}')

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM