参考昨天开的帖子
In which I got very good feedback,我现在开始尝试开发Subplot
类,我的想法是:
Subplot
类应该是一种包装,其中包含图形的样式,颜色等...
用户应仅在开始时指定图数(nrow, ncols)
和figzise
与此类互动,然后使用{{1 }}。
我对如何获得这个想法还很遥远...
现在我只想开始初始化类...但是出现错误,这是我的代码:
plot
这是该类的驱动器脚本:
axis[0,0].plot(value1,value2)
我收到的错误是这样的:
import matplotlib.pyplot as plt
class Subplot :
def __init__(self, ncols,nrows,figsize = (7,4.2),*params):
#params
self.fig, self.axs = plt.subplots(nrows,ncols,figsize)
# Do stuff here
def __iter__(self):
for e in (self.fig, self.axs):
yield e
可能有人给我一些提示...我对Python有点陌生...这也是为什么我不认为我在浪费时间来重新发明轮子的原因
好的,我找出第一个错误:
import matplotlib.pyplot as plt
import numpy as np
import mysubplots
def main():
fig,axs = mysubplots.Subplot(2,2)
我可以问您一些如何与班级互动的提示吗?
实例化Traceback (most recent call last):
File "drivesp.py", line 17, in <module>
main()
File "drivesp.py", line 10, in main
fig,axs = mysubplots.Subplot(2,2)
File "/home/marco/Programming/Python/Numeric/OdeSystem/subplot/mysubplots.py", line 9, in __init__
self.fig, self.axs = plt.subplots(nrows,ncols,figsize)
File "/usr/lib/python3.6/site-packages/matplotlib/pyplot.py", line 1201, in subplots
gridspec_kw=gridspec_kw)
File "/usr/lib/python3.6/site-packages/matplotlib/figure.py", line 1328, in subplots
(sharex, share_values))
ValueError: sharex [(7, 4.2)] must be one of ['all', 'row', 'col', 'none']
时发现了一个sed东西:P ...
class Subplot :
def __init__(self, ncols,nrows,figsize,*params):
#params
self.fig, self.axs = plt.subplots(nrows,ncols,figsize=(7,4.2))
# Do stuff here
def __iter__(self):
for e in (self.fig, self.axs):
yield e
和fig,axs = mysubplots.Subplot(2,2,(8,5.5))
不是包装器fig
的成员,因此即使以为我创建了一个axs
函数,也无法使用SubPlot
作为{{1 }}我该怎么做??