An Exception was encountered at 'In [15]'.

Number of total cases in Lithuania

Logarithmic scale shows how fast the number of new cases each day is increasing.

Confirmed cases per 100 000 population. Orange line represents 25 virus cases per 100 000 people.

Daily new cases

Country trajectories for total cases

Compare how the growth rate is different from other countries and their trajectories. By days since 100th confirmed case.

Tip: Click (Shift+ for multiple) on countries in the legend to filter the visualization.
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)
---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)

Execution using papermill encountered an exception here and stopped:

---------------------------------------------------------------------------
MaxRowsError                              Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    371 
    372         try:
--> 373             dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)
    374         except jsonschema.ValidationError:
    375             dct = None

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in to_dict(self, validate, ignore, context)
    326                 {k: v for k, v in self._kwds.items() if k not in ignore},
    327                 validate=sub_validate,
--> 328                 context=context,
    329             )
    330         else:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     60         return {
     61             k: _todict(v, validate, context)
---> 62             for k, v in obj.items()
     63             if v is not Undefined
     64         }

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <dictcomp>(.0)
     61             k: _todict(v, validate, context)
     62             for k, v in obj.items()
---> 63             if v is not Undefined
     64         }
     65     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in <listcomp>(.0)
     56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
---> 58         return [_todict(v, validate, context) for v in obj]
     59     elif isinstance(obj, dict):
     60         return {

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/schemapi.py in _todict(obj, validate, context)
     54     """Convert an object to a dict representation."""
     55     if isinstance(obj, SchemaBase):
---> 56         return obj.to_dict(validate=validate, context=context)
     57     elif isinstance(obj, (list, tuple, np.ndarray)):
     58         return [_todict(v, validate, context) for v in obj]

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in to_dict(self, *args, **kwargs)
    361         copy = self.copy(deep=False)
    362         original_data = getattr(copy, "data", Undefined)
--> 363         copy.data = _prepare_data(original_data, context)
    364 
    365         if original_data is not Undefined:

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/v4/api.py in _prepare_data(data, context)
     82     # convert dataframes  or objects with __geo_interface__ to dict
     83     if isinstance(data, pd.DataFrame) or hasattr(data, "__geo_interface__"):
---> 84         data = _pipe(data, data_transformers.get())
     85 
     86     # convert string input to a URLData

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/vegalite/data.py in default_data_transformer(data, max_rows)
     17 @curried.curry
     18 def default_data_transformer(data, max_rows=5000):
---> 19     return curried.pipe(data, limit_rows(max_rows=max_rows), to_values)
     20 
     21 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    625     """
    626     for func in funcs:
--> 627         data = func(data)
    628     return data
    629 

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    301     def __call__(self, *args, **kwargs):
    302         try:
--> 303             return self._partial(*args, **kwargs)
    304         except TypeError as exc:
    305             if self._should_curry(args, kwargs, exc):

/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages/altair/utils/data.py in limit_rows(data, max_rows)
     82             "than the maximum allowed ({}). "
     83             "For information on how to plot larger datasets "
---> 84             "in Altair, see the documentation".format(max_rows)
     85         )
     86     return data

MaxRowsError: The number of rows in your dataset is greater than the maximum allowed (5000). For information on how to plot larger datasets in Altair, see the documentation
alt.LayerChart(...)

New daily cases in other countries

Total cases per 100 000