【问题标题】:Trouble using latex in Matplotlib / Scipy etc在 Matplotlib / Scipy 等中使用乳胶时遇到问题
【发布时间】:2011-02-20 17:50:24
【问题描述】:

我第一次尝试使用 matplotlib 和 scipy 制作数据的散点图时遇到了一些问题(变量太多,试图一次看到很多东西)。这是我的一些运行良好的代码...

import numpy
from scipy import *
import pylab
from matplotlib import *
import h5py

FileID = h5py.File('3DiPVDplot1.mat','r')
# (to view the contents of: list(FileID) )
group = FileID['/']
CurrentsArray = group['Currents'].value
IvIIIarray = group['IvIII'].value
PFarray = group['PF'].value
growthTarray = group['growthT'].value
fig = pylab.figure()
ax = fig.add_subplot(111)
cax = ax.scatter(IvIIIarray, growthTarray, PFarray, CurrentsArray, alpha=0.75)
cbar = fig.colorbar(cax)
ax.set_xlabel('Cu / III')
ax.set_ylabel('Growth T')
ax.grid(True)
pylab.show()

我尝试更改代码以包含乳胶字体和解释,但是似乎对我没有任何作用。这是一个无效的示例尝试:

import numpy
from scipy import *
import pylab
from matplotlib import *
import h5py

rc('text', usetex=True)
rc('font', family='serif')

FileID = h5py.File('3DiPVDplot1.mat','r')
# (to view the contents of: list(FileID) )
group = FileID['/']
CurrentsArray = group['Currents'].value
IvIIIarray = group['IvIII'].value
PFarray = group['PF'].value
growthTarray = group['growthT'].value
fig = pylab.figure()
ax = fig.add_subplot(111)
cax = ax.scatter(IvIIIarray, growthTarray, PFarray, CurrentsArray, alpha=0.75)
cbar = fig.colorbar(cax)
ax.set_xlabel(r'Cu / III')
ax.set_ylabel(r'Growth T')
ax.grid(True)
pylab.show()

我正在使用 fink 安装的 python26 以及 scipy matplotlib 等的相应包。我一直在使用 iPython 和手动工作而不是 python 中的脚本。

由于我对 python 和 scipy 完全陌生,我确信我犯了一些愚蠢的简单错误。请赐教!非常感谢您的帮助!

【问题讨论】:

    标签: latex matplotlib scipy tex


    【解决方案1】:

    对于那些刚开始使用 scipy/matplotlib 的人,我发现这有助于查找有关我的安装的信息,因为我目前正在使用它...来自 link

    创建一个名为 simple_plot.py 的文件,其中包含最小脚本:

    from pylab import *
    plot([1,2,3])
    show()
    

    然后在命令行运行以下命令:

    python simple_plot.py --verbose-helpful
    

    我收到的结果是:

    $HOME=/Users/me
    CONFIGDIR=/Users/me/.matplotlib
    matplotlib data path /sw/lib/python2.6/site-packages/matplotlib/mpl-data
    loaded rc file /sw/lib/python2.6/site-packages/matplotlib/mpl-data/matplotlibrc
    matplotlib version 0.99.0
    verbose.level helpful
    interactive is False
    units is False
    platform is darwin
    Using fontManager instance from /Users/me/.matplotlib/fontList.cache
    /sw/lib/python2.6/site-packages/pytz/tzinfo.py:5: DeprecationWarning: the sets module is deprecated
      from sets import Set
    backend MacOSX version unknown
    

    我希望这可以帮助像我一样刚起步的人! :) 感谢大家对此的看法!

    【讨论】:

      【解决方案2】:

      代码在我看来没问题,尤其是 rc 命令。

      查看此页面:Text Rendering with LaTeX。确保安装了 LaTeX、dvipng 和 ghostscript。还要检查您使用的是哪个后端;你的可能不支持 LaTeX。

      【讨论】:

      • 嗨史蒂夫!感谢您的 cmets,感谢您对此的想法。我正在基于 --verbose-helpful 标志运行 MacOSX 后端(版本未知)。更多信息 - matplotlib 0.99.0(在 fink 上可用)tzinfo.py 给出了一个弃用警告,因为我相信即将发布 py30。
      • 顺便说一句,我应该提到我确实得到了具有更简单绘图的乳胶输出实例,所以我试图以这种方式追踪它。由于某种原因,上面的代码甚至没有输出正常的散点图——所以有些电线在某处交叉——我怀疑我对 python/scipy 的使用不正确。
      猜你喜欢
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 2015-02-17
      • 2013-11-06
      相关资源
      最近更新 更多