有没有一种方便的方法来设置默认的matplotlib样式?

时间:2013-08-08 18:19:19

标签: matplotlib

我在工作中经常使用matplotlib - 了解我正在查看的数据,为我的网站制作可视化,以及将图表放入论文中。这是一个很棒的工具。但我发现默认的绘图风格虽然功能齐全,但通过调整一些内容可以使视觉上更具吸引力。

例如,每当我创建一个新轴时,我发现我更喜欢它,如果它有刺的特殊设置,使它看起来更像Tufte-esque:

import matplotlib.pyplot as plt

ax = plt.subplot(111)
ax.xaxis.tick_bottom()
ax.yaxis.tick_left()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position(('outward', 6))
ax.spines['left'].set_position(('outward', 6))

每次我想要一个新轴时输入都很烦人,所以我把它放在一个小模块中。我想知道是否有办法以某种方式在matplotlib中保存这些“设置”?我的猜测是否定的,但我想我会看到是否有人有任何提示。

我在Creating sets of default values for Matplotlib看到了一个类似的问题,但是这个问题是针对matplotlibrc结构中的设置而提出的。这个问题更多地针对一个(显然)必须以编程方式设置的设置。

1 个答案:

答案 0 :(得分:3)

让它成为一个功能:

def gimmeanaxis():
  import matplotlib.pyplot as plt

  ax = plt.subplot(111)
  ax.xaxis.tick_bottom()
  ax.yaxis.tick_left()
  ax.spines['top'].set_color('none')
  ax.spines['right'].set_color('none')
  ax.spines['bottom'].set_position(('outward', 6))
  ax.spines['left'].set_position(('outward', 6))
  return ax

然后你只需输入一次。根据需要添加选项(例如figure,子图名称,......)