如何使用matplotlib.get_configdir()的输出在iPython中创建自定义样式表

时间:2015-11-20 07:52:33

标签: python matplotlib ipython anaconda

我在Anaconda中使用iPython和python 2.7以及matplotlib 1.5

print matplotlib.get_configdir()
>>> /Users/rpickhardt/.matplotlib

当我查看我找到的目录时:

PigPen:.matplotlib rpickhardt$ pwd
>>> /Users/rpickhardt/.matplotlib
PigPen:.matplotlib rpickhardt$ ls
>>> fontList.cache  tex.cache

关注matplotlib stylesheet documentation我很困惑,因为我希望找到一个名为stylelib的文件夹,因为python告诉我有一些样式表可用。

print plt.style.available`
>>> [u'dark_background', u'bmh', u'grayscale', u'ggplot', u'fivethirtyeight']

所以我想也许标准样式不需要在config文件夹中,我创建stylelib/presentation.mplstyle但是

plt.style.use('presentation')

结果

ValueError                                Traceback (most recent call last)
<ipython-input-285-d7cf43d778d5> in <module>()
      1 matplotlib.style.core.reload_library()
----> 2 plt.style.use('presentation')

/Users/rpickhardt/anaconda/lib/python2.7/site-packages/matplotlib/style/core.pyc in use(name)
     64                        "not a valid URL or path. See `style.available` for "
     65                        "list of available styles.")
---> 66                 raise ValueError(msg % style)
     67 
     68 

ValueError: 'presentation' not found in the style library and input is not a valid URL or path. See `style.available` for list of available styles.

那么我现在如何添加样式表或编辑其中一个预定义样式?

2 个答案:

答案 0 :(得分:1)

我在 Anaconda 的 Jupyter Notebook 中使用 Python 3 时遇到了同样的问题(原始帖子三年后)。我找到了解决方案:在您找到的配置目录中创建 stylelib 文件夹

>>> matplotlib.get_configdir()
'/Users/{username}/.matplotlib'

看起来像

/Users/{username}/.matplotlib/stylelib

然后将您的自定义样式保存在新文件夹中(例如 mystyle.mlpstyle)然后运行

matplotlib.style.reload_library()

您会很高兴使用您的自定义样式!

答案 1 :(得分:0)

在提出问题时,推荐系统显示this discussion about exporting custom stylesheets给出了使用提示:

matplotlib.style.core.reload_library()

为我做了这份工作。