我现在学习Python语言大约有一年了,慢慢地进入“神奇的Python命令”领域。我必须把手弄脏才能掌握__self.setattr__
的概念,这是我第一次使用它。请让我知道,如果我使用它“正确”,以及以何种方式,我可以改善它。这是因为我没有任何同行来交叉检查我写的东西,因此我认为这个渠道可能是一个寻求建议的好渠道
使用以下引用:Link here
注意confirmed, recovered, deaths
是DataFrames
class PlotGo:
__acceptable_keys_list = ['crd','crd_colors','crd_layout_params', 'Date', 'bar_params']
def __init__(self, **kwargs):
self.fig = go.Figure()
self.markers = {}
for key in kwargs.keys():
if key in self.__acceptable_keys_list:
self.__setattr__(key, kwargs.get(key, None))
def _go_bar(self, *args,**kwargs):
return go.Bar(*args, **kwargs)
def update_graph_crd(self):
for crd_name, df in self.crd.items():
self.fig.add_trace(self._go_bar(x=df[self.__acceptable_keys_list
[self.__acceptable_keys_list.index('Date')]],
y=df[crd_name],
name=crd_name,
marker_color=self.crd_colors[crd_name]))
self.fig.update_layout(**self.crd_layout_params)
self.fig.show()
def reset_fig():
# reset figure to clean state again.
self.fig = go.Figure()
crd_dict = {'crd': {'Confirmed': confirmed, 'Recovered': recovered, 'Deaths': deaths},
'crd_colors': {'Confirmed': 'blue', 'Recovered': 'green', 'Deaths': 'red'},
'crd_layout_params': { 'title':'Worldwide Corona Virus Cases - Confirmed, Deaths, Recovered (Bar Chart)',
'xaxis_tickfont_size':12,
'yaxis':dict(title='Number of Cases',
titlefont_size=16,
tickfont_size=12,)}}
a = PlotGo(**crd_dict)
a.update_graph_crd()
目前没有回答
相关问题 更多 >
编程相关推荐