Python中的ggplot样式

Jos*_*osh 26 python matplotlib ipython pandas

当我查看Pandas文档中的绘图样式时,这些图看起来与默认图不同.它似乎模仿了ggplot的"外观和感觉".

seaborn的包装相同.

我怎样才能加载那种风格?(即使我不使用笔记本电脑?)

jor*_*ris 31

更新:如果您有matplotlib> = 1.4,则默认情况下有一个新style模块具有ggplot样式.要激活它,请使用:

from matplotlib import pyplot as plt
plt.style.use('ggplot')
Run Code Online (Sandbox Code Playgroud)

要查看所有可用的样式,您可以查看plt.style.available.


同样,对于seaborn造型,您可以:

plt.style.use('seaborn-white')
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用seaborn自己的机器来设置样式:

import seaborn as sns
sns.set()
Run Code Online (Sandbox Code Playgroud)

set()函数有更多选项可供选择特定样式(请参阅参考资料docs).请注意,seaborn以前在导入时会自动执行上述操作,但是使用最新版本(> = 0.8)时不再是这种情况.


如果你真的想在Python中使用类似ggplot的语法(而不仅仅是样式),那么看看这个plotnine包,它是Python中图形实现的语法,其语法与R的ggplot2非常相似.


注意:提到的旧答案要做pd.options.display.mpl_style = 'default' .然而,这在大熊猫中被弃用,有利于matplotlib的样式使用plt.style(..),同时这个功能甚至从熊猫中删除.


Jan*_*ins 5

对于python-ggplot中的主题,您可以将它们与其他图一起使用:

from ggplot import theme_gray
theme = theme_gray()
with mpl.rc_context():
    mpl.rcParams.update(theme.get_rcParams())

    # plotting commands here

    for ax in plt.gcf().axes:
        theme.post_plot_callback(ax)
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的方法,但是 ggplot 项目似乎已经死了。人们可以尝试使用 [plotnine](https://plotnine.readthedocs.io/en/stable/) 库。 (2认同)

Bod*_*i94 5

如果您需要查看可用样式:

import matplotlib.pyplot as plt

print(plt.style.available)
Run Code Online (Sandbox Code Playgroud)

这将打印可用的样式。

并使用此链接选择您喜欢的样式

https://tonysyu.github.io/raw_content/matplotlib-style-gallery/gallery.html