【发布时间】:2021-03-25 13:12:15
【问题描述】:
刚刚创建了这个类来打印一些交互式图表,但我遇到了不同的错误。最近的是:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-29-ee093d057bde> in <module>
25
26 if __name__ == '__main__':
---> 27 ChartsPropylene()
<ipython-input-29-ee093d057bde> in __init__(self)
1 class ChartsPropylene():
2 def __init__(self):
----> 3 self.start_date=dt(2008, 4, 24)
4 self.end_date=dt(2020, 5, 24)
5 self.dates=pd.date_range(self.start_date, self.end_date, freq='D')
我创建的类代码如下:
import sys, os
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import ipywidgets as widgets
from ipywidgets import interact
import cufflinks as cf
import datetime as dt
from IPython import display
class ChartsPropylene():
def __init__(self):
self.start_date=dt(2008, 4, 24)
self.end_date=dt(2020, 5, 24)
self.dates=pd.date_range(self.start_date, self.end_date, freq='D')
self.options=[(date.strftime(' %d %b %y '), date) for date in self.dates]
self.index=(0, len(self.options)-1)
self.selection_range_slider=widgets.SelectionRangeSlider(options=self.options, index=self.index, description='Dates', orientation='horizontal', layout={'width':'600px'})
def __printChart__(self):
display(self.selection_range_slider)
x=self.selection_range_slider.get_interact_value()[0].toordinal()
y=self.selection_range_slider.get_interact_value()[1].toordinal()
abs1=abs(y-x)
plt.figure(figsize=(18, 10))
sns.set(style="darkgrid")
palette2=sns.color_palette("mako_r", 3)
sns.lineplot(x="Date", y="Value", hue='Std_Type', style='Value_Type', sizes=(.25, 2.5), ci='sd', estimator=None, lw=1, palette=palette2, data=tbl4)
rectangle1=plt.Rectangle(xy=(x, 500), width=abs1, height=500, linewidth=2, color='red', facecolor='blue', joinstyle='round', alpha=0.1, fill=True)
rectangle2=plt.Rectangle(xy=(x, 500), width=abs1, height=500, linewidth=2, color='red', facecolor='blue', joinstyle='round', alpha=1, fill=False)
plt.gca().add_patch(rectangle1)
plt.gca().add_patch(rectangle2)
plot.show(10)
我做错了什么?
我尝试导入类并运行,但出现了同样的错误。
【问题讨论】:
-
不要编自己的
__X__名字;他们是reserved by Python。
标签: python matplotlib jupyter-notebook python-class