我使用Python主要是为了数据分析,最近我用很多格式绘制了很多图表,比如:
from matplotlib import pyplot as plt
data = pd.read_table(...)
fig1 = plt.figure(figsize=(20, 10))
fig1.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9, wspace=0.4, hspace=0.6)
ax1 = fig1.subplot(121)
ax1.plot(data...)
ax2 = fig1.subplot(122)
ax2.plot(data...)
在做很多子情节的时候,我不得不使用.subplots_adjust()。通过简单地复制一个现有的行来传递参数是有效的,但是在那之后统一格式需要花费更多的精力。
有没有一种方法可以将格式化的kwargs传递给图形,同时在某个地方集中定义它们,以便以后轻松地更改它们?也许可以创建一个模板,并在创建图形时使用它?
我尝试过创建一个Figure模板的子类,但是没有成功,因为figure保存了格式信息(尽管它们是由.adjust_subplots函数设置的,所以我不知道它们在技术上是否是属性)。我建议在两者之间有一个解决方案,但是我对面向对象编程和matplotlib的类结构不是那么坚定。
还试图通过kwargs与字典:
plotspacing = {
"left": 0.1,
"right": 0.9,
"top": 0.9,
"bottom": 0.1,
"wspace": 0.4,
"hspace": 0.6
}
fig1 = plt.figure(figsize=(20, 10))
fig1.subplots_adjust(plotspacing)
1条答案
按热度按时间4uqofj5v1#
是否可以创建一个“调整器”函数?
然后,在创建每个打印后,可以使用打印句柄调用它。