【问题标题】:LaTeX with Python 3.7 and Matplotlib带有 Python 3.7 和 Matplotlib 的 LaTeX
【发布时间】:2019-04-06 04:57:46
【问题描述】:

我刚刚安装了 Python 3.7.1 并运行了以下脚本:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(); frame = plt.gca()
x = np.linspace(0,2*np.pi,500)
y = np.sin(x)
ax.set_xticks(np.array([0,np.pi,2*np.pi]))
ax.set_yticks(np.array([-1,0,1]))
frame.set_xticklabels(['$0$', '$\pi$', '$2\pi$'], fontsize=20)
frame.set_yticklabels(['$-1$', '$0$', '$1$'], fontsize=20)
ax.plot(x, y)
plt.tight_layout()
plt.show()

回到 Python 2.7,x 和 y 刻度标签会按照我的意愿以 LaTeX 形式显示。现在它们默认使用一种不那么漂亮的字体,我不知道如何以 LaTeX 字体显示它们。我需要安装更新版本的 matplotlib 吗?

【问题讨论】:

  • 我将 set_xticklabels 行改为:frame.set_xticklabels(['$0$', '$\pi$', '$2\pi$'], fontsize=20, usetex=True)。这确实会产生 LaTeX,但我不喜欢图表的外观——标签比以前不那么粗体了,而且刻度线现在在图的外侧而不是图的内侧。
  • 默认情况下,从绘图内部移动到外部的刻度在 matplotlib v2.0:matplotlib.org/users/dflt_style_changes.html#ticks 中完成,该链接显示如何恢复到以前的行为

标签: python matplotlib latex


【解决方案1】:

感谢tmdavison's link 我能够弄明白。我需要做的就是添加以下代码行:

import matplotlib as mpl
mpl.style.use('classic')

然后 Matplotlib 将默认恢复为经典样式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 2023-01-09
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2016-02-29
    相关资源
    最近更新 更多