Я знаю, что этот аргумент тривиален и рассматривается во многих постах, но я его прочитал и до сих пор не понимаю, как из папки можно рассматривать как пакет ...
возьмите этот пример (я знаю, что есть файлы * rc, которые дают тот же результат ..)
Я определил базовый класс с именем basequalityplot
, в котором я определил все, что необходимо для настройки графика (отсос, в котором я определил общий параметр (устойчивый или переменный), обновление rcParams) в Имя класса, качественный сюжет, который содержит базовый класс и многое другое ...:
полный класс с именем basequalityplot.py сообщается в: введите описание ссылки здесь
базовый модуль содержит производные классы ... часто повторяющиеся .. и я сообщу только об одном:
import sys
import os
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
from matplotlib.axes import Axes
from cycler import cycler
from matplotlib import cm
from collections import OrderedDict
from matplotlib.ticker import AutoMinorLocator
from basequalityplot import BasePlot
#######################################################################
#######################################################################
class Standard(BasePlot):
def __init__(self,**kwargs):
self.parameters = kwargs
if 'box' not in self.parameters.keys():
self.parameters['box'] = '#AAAAAA'
if 'axeslabel' not in self.parameters.keys():
self.parameters['axeslabel'] = '#AAAAAA'
if 'axes.linewidth' not in self.parameters.keys():
self.parameters['axes.linewidth'] = 0.7
if 'xtickcolor' not in self.parameters.keys():
self.parameters['xtickcolor'] ='#AAAAAA'
if 'ytickcolor' not in self.parameters.keys():
self.parameters['ytickcolor'] = 'gray'
if 'gridcolor' not in self.parameters.keys():
self.parameters['gridcolor'] = 'gray' #'#AAAAAA' #'#dddddd'
if 'font' not in self.parameters.keys():
self.parameters['font'] = 'serif'
if 'fontstyle' not in self.parameters.keys():
self.parameters['fontstyle'] = 'italic'
if 'fontsize' not in self.parameters.keys():
self.parameters['fontsize'] = 10.0
if 'legendfontsize' not in self.parameters.keys():
self.parameters['legendfontsize'] =10.0
if 'legendEdgeColor' not in self.parameters.keys():
self.parameters['legendEdgeColor'] = '#AAAAAA' #'#dddddd'
if 'scheme' not in self.parameters.keys():
self.parameters['scheme'] = 'nb'
if 'cycle' not in self.parameters.keys():
self.parameters['cycle'] = self.cycle('0')
if 'axes.linewidth' not in self.parameters.keys():
self.parameters['axes.linewidth'] = 0.7
if 'grid.dashes' not in self.parameters.keys():
self.parameters['grid.dashes'] = (5,5)
if 'grid.linestyle' not in self.parameters.keys():
self.parameters['grid.linestyle'] = '--'
if 'linestyle' not in self.parameters.keys():
self.parameters['linestyle'] = self.linestyles('paper')
if 'cycle' not in self.parameters.keys():
self.parameters['cycle'] = self.cycle('0')
if 'grid.alpha' not in self.parameters.keys():
self.parameters['grid.alpha'] = '1'
if 'grid.linewidth' not in self.parameters.keys():
self.parameters['grid.linewidth'] = 0.7
self.parameters.update(kwargs)
super().__init__(**self.parameters)
хорошо ... Я хотел бы содержать basequalityplot.py
и qualityplot.py
в одном каталоге (где qualityplot - это модуль, содержащий класс, который я хочу использовать .. в этом случае я сообщаю только стандартный )
Я пытался создать папку с именем qualityPlot
, а затем из скрипта в подкаталоге попробуйте import qualityPlot
, как обычно для импорта packjage ... но это не работает ....
Кто-нибудь может мне помочь? :(