Python Forum
plotly.graph_objs - Scatter mode error
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
plotly.graph_objs - Scatter mode error
#11
I stand corrected, I mistook line 9 as a stand alone statement (it was written over so many lines) the comma belongs there
Not enough code displayed to determine cause. Need at least 'project_helper' code
Reply
#12
Thanks @Larz60+ for sticking on with this - this is project_helper.py

import helper
import plotly.graph_objs as go
import plotly.offline as offline_py
offline_py.init_notebook_mode(connected=True)


def _generate_stock_trace(prices):
    return go.Scatter(
        name='Index',
        x=prices.index,
        y=prices,
        line={'color': helper.color_scheme['major_line']})


def _generate_traces(name_df_color_data):
    traces = []

    for name, df, color in name_df_color_data:
        traces.append(go.Scatter(
            name=name,
            x=df.index,
            y=df,
            mode='line',
            line={'color': color}))

    return traces


def plot_stock(prices, title):
    config = helper.generate_config()
    layout = go.Layout(title=title)

    stock_trace = _generate_stock_trace(prices)

    offline_py.iplot({'data': [stock_trace], 'layout': layout}, config=config)


def print_dataframe(df, n_rows=10, n_columns=3):
    missing_val_str = '...'
    config = helper.generate_config()

    formatted_df = df.iloc[:n_rows, :n_columns]
    formatted_df = formatted_df.applymap('{:.3f}'.format)

    if len(df.columns) > n_columns:
        formatted_df[missing_val_str] = [missing_val_str]*len(formatted_df.index)
    if len(df.index) > n_rows:
        formatted_df.loc[missing_val_str] = [missing_val_str]*len(formatted_df.columns)

    trace = go.Table(
        type='table',
        columnwidth=[1, 3],
        header={
            'values': [''] + list(formatted_df.columns.values),
            'line': {'color': helper.color_scheme['df_line']},
            'fill': {'color': helper.color_scheme['df_header']},
            'font': {'size': 13}},
        cells={
            'values': formatted_df.reset_index().values.T,
            'line': {'color': helper.color_scheme['df_line']},
            'fill': {'color': [helper.color_scheme['df_header'], helper.color_scheme['df_value']]},
            'font': {'size': 13}})

    offline_py.iplot([trace], config=config)


def plot_resampled_prices(df_resampled, df, title):
    config = helper.generate_config()
    layout = go.Layout(title=title)

    traces = _generate_traces([
        ('Monthly Close', df_resampled, helper.color_scheme['major_line']),
        ('Close', df, helper.color_scheme['minor_line'])])

    offline_py.iplot({'data': traces, 'layout': layout}, config=config)


def plot_returns(returns, title):
    config = helper.generate_config()
    layout = go.Layout(title=title)

    traces = _generate_traces([
        ('Returns', returns, helper.color_scheme['major_line'])])

    offline_py.iplot({'data': traces, 'layout': layout}, config=config)


def plot_shifted_returns(df_shited, df, title):
    config = helper.generate_config()
    layout = go.Layout(title=title)

    traces = _generate_traces([
        ('Shifted Returns', df_shited, helper.color_scheme['major_line']),
        ('Returns', df, helper.color_scheme['minor_line'])])

    offline_py.iplot({'data': traces, 'layout': layout}, config=config)


def print_top(df, name, top_n=10):
    print('{} Most {}:'.format(top_n, name))
    print(', '.join(df.sum().sort_values(ascending=False).index[:top_n].values.tolist()))
Reply
#13
monthly_close = resample_prices(close)
project_helper.plot_resampled_prices(
monthly_close.loc[:, apple_ticker],
close.loc[:, apple_ticker],
'{} Stock - Close Vs Monthly Close'.format(apple_ticker))
Reply
#14
Here is the traceback Wall

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in
3 monthly_close.loc[:, apple_ticker],
4 close.loc[:, apple_ticker],
----> 5 '{} Stock - Close Vs Monthly Close'.format(apple_ticker))

f:\Hidden\project\project_1\project_helper.py in plot_resampled_prices(df_resampled, df, title)
70 traces = _generate_traces([
71 ('Monthly Close', df_resampled, helper.color_scheme['major_line']),
---> 72 ('Close', df, helper.color_scheme['minor_line'])])
73
74 offline_py.iplot({'data': traces, 'layout': layout}, config=config)

f:\Hidden\project\project_1\project_helper.py in _generate_traces(name_df_color_data)
22 y=df,
23 mode='line',
---> 24 line={'color': color}))
25
26 return traces

C:\Hidden\Python\lib\site-packages\plotly\graph_objs\__init__.py in __init__(self, arg, cliponaxis, connectgaps, customdata, customdatasrc, dx, dy, error_x, error_y, fill, fillcolor, groupnorm, hoverinfo, hoverinfosrc, hoverlabel, hoveron, hovertemplate, hovertemplatesrc, hovertext, hovertextsrc, ids, idssrc, legendgroup, line, marker, meta, metasrc, mode, name, opacity, orientation, r, rsrc, selected, selectedpoints, showlegend, stackgaps, stackgroup, stream, t, text, textfont, textposition, textpositionsrc, textsrc, texttemplate, texttemplatesrc, tsrc, uid, uirevision, unselected, visible, x, x0, xaxis, xcalendar, xsrc, y, y0, yaxis, ycalendar, ysrc, **kwargs)
38026 self["metasrc"] = metasrc if metasrc is not None else _v
38027 _v = arg.pop("mode", None)
> 38028 self["mode"] = mode if mode is not None else _v
38029 _v = arg.pop("name", None)
38030 self["name"] = name if name is not None else _v

C:\Hidden\Python\lib\site-packages\plotly\basedatatypes.py in __setitem__(self, prop, value)
3488 # ### Handle simple property ###
3489 else:
-> 3490 self._set_prop(prop, value)
3491
3492 # Handle non-scalar case

C:\Hidden\Python\lib\site-packages\plotly\basedatatypes.py in _set_prop(self, prop, val)
3775 return
3776 else:
-> 3777 raise err
3778
3779 # val is None

C:\Hidden\Python\lib\site-packages\plotly\basedatatypes.py in _set_prop(self, prop, val)
3770 validator = self._validators.get(prop)
3771 try:
-> 3772 val = validator.validate_coerce(val)
3773 except ValueError as err:
3774 if self._skip_invalid:

C:\Hidden\Python\lib\site-packages\_plotly_utils\basevalidators.py in validate_coerce(self, v)
1865 validated_v = self.vc_scalar(v)
1866 if validated_v is None:
-> 1867 self.raise_invalid_val(v)
1868
1869 v = validated_v

C:\Hidden\Python\lib\site-packages\_plotly_utils\basevalidators.py in raise_invalid_val(self, v, inds)
281 typ=type_str(v),
282 v=repr(v),
--> 283 valid_clr_desc=self.description(),
284 )
285 )

ValueError:
Invalid value of type 'builtins.str' received for the 'mode' property of scatter
Received value: 'line'

The 'mode' property is a flaglist and may be specified
as a string containing:
- Any combination of ['lines', 'markers', 'text'] joined with '+' characters
(e.g. 'lines+markers')
OR exactly one of ['none'] (e.g. 'none')
Compute Log Returns
Reply
#15
OK! It worked !!

def _generate_traces(name_df_color_data):
    traces = []

    for name, df, color in name_df_color_data:
        traces.append(go.Scatter(
            name=name,
            x=df.index,
            y=df,
            mode='lines',
            line={'color': color}))

    return traces
1. Line 9: I changed it from 'line' to 'lines'
2. compiled project_helper.py
3. closed workspace in VS Studio
4. Exited VS Studio
5. Reopened VS Studio
6. Voila !!


@Larz60+ - thank you again for sticking me on this !!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Shocked plt.scatter() errors asja2010 0 1,471 Oct-13-2022, 08:15 AM
Last Post: asja2010
  binning_endpoints ->plotly Luis_liverpool 0 833 Aug-09-2022, 10:13 AM
Last Post: Luis_liverpool
  How to invert scatter plot axis Mark17 3 2,501 Sep-22-2021, 04:45 PM
Last Post: jefsummers
  things that work in terminal mode but not in sublime mode alok 4 2,879 Aug-11-2021, 07:02 PM
Last Post: snippsat
  plotly expression problem Visiting 2 1,998 May-16-2021, 12:28 AM
Last Post: Visiting
  Animated scatter plot maximan 0 1,640 Jan-18-2021, 03:53 PM
Last Post: maximan
  Group scatter plots Mekala 0 1,643 Jul-23-2020, 02:18 PM
Last Post: Mekala
  error while running in debug mode ModuleNotFoundError avipy123 0 2,621 Jul-14-2020, 02:05 PM
Last Post: avipy123
  how to nest loop for 4*4 scatter plot kassamohammed 0 2,571 Jun-23-2020, 09:47 AM
Last Post: kassamohammed
  How to create Custom Buttons for 3D Scatter plots in Plotly? yourboyjoe 0 2,132 Jun-01-2020, 10:58 PM
Last Post: yourboyjoe

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020