1

我正在使用 matplotlib 生成带有乳胶渲染文本的图表。现在有这个棘手的问题,我似乎无法自己解决..

使用 twinx() 生成的辅助 y 轴显示错误的刻度标签和 ylabel 字体!我究竟做错了什么?这就是我所做的。

    from matplotlib import pyplot as plt
    from matplotlib import rc
    from matplotlib.figure import Figure               
    from matplotlib.axes import Axes    
    from matplotlib.lines import Line2D

    rc('font',**{'family':'serif','sans-serif':['Computer Modern Roman']})
    rc('text', usetex=True)

    fig = plt.figure(figsize = (4,4) )                                
    ax = Axes(fig, [.1,.1,.8,.8])  
    ax_ = ax.twinx()                            
    fig.add_axes(ax)

    fig.add_axes(ax_)       

    l = Line2D([0, 1],[0, 1], color='r')

    ax.set_ylabel(r'Label')
    ax_.set_ylabel(r'Label')

    ax.add_line( l )

    plt.show()

正在使用的版本:matplotlib 0.99.1.1 tex.. 不知道;全部在 linux 上

ps:这样渲染文本、标题等效果很好,只是次要的y轴表现得相当糟糕!

4

2 回答 2

0

如果可能的话,最好的答案可能是更新您的 matplotlib 版本。如果随后您仍然遇到问题,至少这意味着您可以在 matplotlib github 站点 (https://github.com/matplotlib/matplotlib/issues/new) 上打开错误报告。

于 2012-07-13T13:33:24.087 回答
0

我可能有点晚了,但还没有人写出一个好的答案。我遇到了同样的问题并通过在乳胶中编写刻度标签来解决它:

import matplotlib.pyplot as plt
labels = [r"$1.$", r"$1.5$", r"$2.$"]
ticks = [1., 1.5, 2.]
plt.set_xticks(ticks)
plt.set_xticklabels(labels)
于 2018-08-08T14:41:09.733 回答