Skip to content

Incorrect height of coloured px.timeline bars #2684

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dsm054 opened this issue Aug 4, 2020 · 15 comments
Closed

Incorrect height of coloured px.timeline bars #2684

dsm054 opened this issue Aug 4, 2020 · 15 comments
Labels
bug something broken
Milestone

Comments

@dsm054
Copy link

dsm054 commented Aug 4, 2020

In 4.9.0, the following code:

df = pd.DataFrame([{'row': 'A',
  'start_time': '2020-08-04 06:00:01',
  'end_time': '2020-08-04 06:06:01',
  'status': 'succeeded'},
 {'row': 'A',
  'start_time': '2020-08-04 07:00:01',
  'end_time': '2020-08-04 07:05:01',
  'status': 'failed'},
 {'row': 'A',
  'start_time': '2020-08-04 08:00:01',
  'end_time': '2020-08-04 08:06:01',
  'status': 'succeeded'},
 {'row': 'B',
  'start_time': '2020-08-04 06:44:11',
  'end_time': '2020-08-04 06:53:22',
  'status': 'succeeded'},
 {'row': 'B',
  'start_time': '2020-08-04 07:01:58',
  'end_time': '2020-08-04 07:07:48',
  'status': 'succeeded'},
 {'row': 'C',
  'start_time': '2020-08-04 06:38:56',
  'end_time': '2020-08-04 06:44:59',
  'status': 'succeeded'},
 {'row': 'C',
  'start_time': '2020-08-04 06:59:00',
  'end_time': '2020-08-04 07:05:00',
  'status': 'failed'}])

fig = px.timeline(df, x_start="start_time", x_end="end_time", y="row", color="status")
fig.show()

is giving me

image

where the rows coloured red have the wrong height. Perturbing the order seems to help things, in particular sorting by status.

Looking at the sizes of the bars and the underlying json makes me wonder if when it's overlaying the two, it's scaling everything independently, and forgetting that B is even there:

  {'alignmentgroup': 'True',
   'base': ['2020-08-04 07:00:01', '2020-08-04 06:59:00'],
   'hovertemplate': 'status=failed<br>start_time=%{base}<br>end_time=%{x}<br>row=%{y}<extra></extra>',
   'legendgroup': 'failed',
   'marker': {'color': '#EF553B'},
   'name': 'failed',
   'offsetgroup': 'failed',
   'orientation': 'h',
   'showlegend': True,
   'textposition': 'auto',
   'type': 'bar',
   'x': [300000.0, 360000.0],
   'xaxis': 'x',
   'y': ['A', 'C'],
   'yaxis': 'y'}],

If so, faking nondisplayable rows should help, and it seems to:

fake = pd.DataFrame.from_records([{"row": row, "status": status, "start_time": np.nan, "end_time": np.nan} for row in df.row.unique() for status in df.status.unique()])
fig = px.timeline(df.append(fake), x_start="start_time", x_end="end_time", y="row", color="status")
fig.show()

image

which also seems to fix my production case, but preferably would be handled on the plotly side. :-)

@dsm054 dsm054 changed the title Incorrect coloured px.timeline bars Incorrectly coloured px.timeline bars Aug 4, 2020
@dsm054 dsm054 changed the title Incorrectly coloured px.timeline bars Incorrect height of coloured px.timeline bars Aug 4, 2020
@nicolaskruchten
Copy link
Contributor

Thanks for reporting this, it is indeed a case which should be handled internally!

@nicolaskruchten
Copy link
Contributor

We have a fix for this and it'll hopefully be released this week!

@AWhetter
Copy link

AWhetter commented Sep 16, 2020

I'm still seeing this issue in 4.10. To clarify, I'm not seeing it with the data set in the original issue but I do see it with my own data set, which I cannot share.

@nicolaskruchten
Copy link
Contributor

OK, thanks for letting us know. If you're able to share a minimum reproducible example I'd be happy to follow up but as far as I can tell this issue should be resolved.

Just to confirm: if you're seeing this in JupyterLab, can you confirm you've upgraded the jupyterlab-plotly extension to 4.10.0 as well? If not, you'll be using the older version of the rendering engine which still suffers from this bug.

@AWhetter
Copy link

I'm running in a jupyter notebook so I believe that extension doesn't apply.
I'll see if I can obfuscate the data I have and still reproduce. Thanks for the help so far.

@nicolaskruchten
Copy link
Contributor

Ok, thanks for confirming; and indeed you're right in classic notebook no extension is needed.

Any way for me to reproduce this would help :) does it always happen? To any random subset of the data? Any pattern to when it does/doesn't occur? Etc

@AWhetter
Copy link

It does always happen. I can reproduce it consistently and between Python 3.7 and 3.8. I can't figure out a good subset of the data that it happens on, nor a pattern of when it does or does not occur.

I've attached my data (complete_data.csv.txt). Here's the code I'm running in jupyter:

import pandas as pd
import plotly.express as px

df = pd.read_csv("~/Downloads/complete_data.csv.txt")
px.timeline(df, x_start="Start", x_end="End", y="Person", hover_name="Task", color="Team")

Here's an image of what I see:
2020-09-16-151826_1920x1080_scrot

This is in a clean virtualenv, so I'm using the latest version of everything, so plotly 4.10.0 at the time of writing.

@nicolaskruchten
Copy link
Contributor

Ah, awesome, thanks so much for boiling this down for us!

What's happening here is that your Y axis here is being interpreted as a linear axis rather than a categorical one (per the recently-documented auto-detection behaviour). You can override this by calling .update_yaxes(type="category") on the figure.

Changing this auto-detection for stringified numbers is something I'm considering changing in a 5.0 release of Plotly.py :)

@AWhetter
Copy link

Ah I'm fairly new to plotly so I wasn't aware of this behaviour. Calling that function does indeed solve my problem. Sorry for the false alarm and thanks again for your help.

@nicolaskruchten
Copy link
Contributor

It's pretty weird behaviour so I don't blame you ;) The underlying Javascript engine hews to JS conventions which is to treat stringified numbers as numbers in many contexts.

@eduedix
Copy link

eduedix commented Feb 1, 2021

I am having similar problems with type=date. The y-axis is detected as date and it is possible to set tickformat, but heights are incorrect as in the image of the author.

image

@nicolaskruchten
Copy link
Contributor

@eduedix if you could create a new issue and include some reproducible code, that would let me help you most effectively. Please ensure you're on the latest version of the plotly package and the corresponding extensions.

@NCXjo
Copy link

NCXjo commented Mar 14, 2023

Hi, I have the same bug. The « SOUS_TRAIT » bar is too height, see the mouseover highlight.
Please how can I solved it ?

To reproduce

data = {"start":{"0":"2021-12-07 10:20:00","1":"2021-12-07 10:20:00","2":"2021-12-07 11:32:00","3":"2021-12-07 14:46:00","4":"2021-12-07 19:55:00","5":"2021-12-08 23:44:00","6":"2021-12-09 11:15:00","7":"2021-12-13 14:42:00","8":"2021-12-13 18:02:00","9":"2021-12-13 18:15:00","10":"2021-12-15 13:00:00","11":"2021-12-15 15:21:00","12":"2021-12-15 15:25:00","13":"2021-12-17 18:05:00","14":"2021-12-18 11:03:00","15":"2021-12-20 07:03:00","16":"2021-12-20 08:21:00","17":"2021-12-21 14:40:00","18":"2021-12-21 19:30:00","19":"2021-12-21 19:54:00","20":"2021-12-22 15:50:00","21":"2022-01-05 13:17:00","22":"2022-01-05 23:51:00","23":"2022-01-06 11:02:00","24":"2022-01-06 16:12:00","25":"2022-01-06 17:45:00","26":"2022-01-06 19:59:00","27":"2022-01-06 23:00:00","28":"2022-01-07 03:04:00","29":"2022-01-13 14:08:00","30":"2022-02-03 14:58:00","31":"2022-02-03 19:11:00","32":"2022-02-04 12:21:00","33":"2022-02-07 16:32:00","34":"2022-02-09 18:30:00","35":"2022-02-10 00:39:00","36":"2022-02-10 00:59:00","37":"2022-02-10 09:48:00","38":"2022-02-14 17:58:00","39":"2022-02-15 11:18:00","40":"2022-02-15 18:58:00","41":"2022-02-15 19:20:00","42":"2022-02-15 23:57:00","43":"2022-02-16 00:29:00","44":"2022-02-16 00:31:00","45":"2022-02-24 12:12:00","46":"2022-02-24 14:39:00","47":"2022-02-24 15:00:00","48":"2022-02-24 18:09:00","49":"2022-02-25 07:36:00","50":"2022-02-25 11:24:00","51":"2022-02-25 16:45:00","52":"2022-02-26 15:10:00","53":"2022-02-26 15:59:00","54":"2022-02-26 16:00:00","55":"2022-03-10 08:40:00","56":"2022-03-10 11:29:00","57":"2022-03-10 16:17:00","58":"2022-03-10 16:36:00","59":"2022-03-10 16:40:00","60":"2022-03-11 11:26:00","61":"2022-03-11 17:01:00","62":"2022-03-13 08:37:00","63":"2022-03-14 07:07:00","64":"2022-03-14 13:49:00","65":"2022-03-14 20:18:00","66":"2023-03-14 00:00:00","67":"2023-03-14 12:00:00","68":"2023-03-15 09:00:00","69":"2023-03-16 06:00:00","70":"2023-03-18 18:00:00","71":"2023-03-21 06:00:00","72":"2023-03-22 03:00:00","73":"2023-03-23 00:00:00","74":"2023-03-23 21:00:00","75":"2023-03-24 18:00:00","76":"2023-03-25 15:00:00","77":"2023-03-26 12:00:00","78":"2023-03-29 12:00:00","79":"2023-04-01 12:00:00","80":"2023-04-04 12:00:00","81":"2023-04-05 09:00:00","82":"2023-04-06 06:00:00","83":"2023-04-07 03:00:00","84":"2023-04-08 00:00:00","85":"2023-04-08 21:00:00","86":"2023-04-09 18:00:00","87":"2023-04-10 15:00:00","88":"2023-04-11 12:00:00","89":"2023-04-12 09:00:00","90":"2023-04-13 06:00:00","91":"2023-04-14 03:00:00","92":"2023-04-15 00:00:00","93":"2023-04-15 21:00:00","94":"2023-04-16 18:00:00","95":"2023-04-17 15:00:00","96":"2023-04-20 03:00:00","97":"2023-04-21 00:00:00","98":"2023-04-21 21:00:00","99":"2023-04-22 18:00:00","100":"2023-04-23 15:00:00","101":"2023-04-24 12:00:00","102":"2023-04-25 09:00:00","103":"2023-04-26 06:00:00","104":"2023-04-27 03:00:00","105":"2023-04-28 00:00:00","106":"2023-04-30 12:00:00","107":"2023-05-01 09:00:00","108":"2023-05-02 06:00:00","109":"2023-05-03 03:00:00","110":"2023-05-04 00:00:00","111":"2023-05-04 21:00:00","112":"2023-05-05 18:00:00","113":"2023-05-06 06:00:00","114":"2023-05-06 06:00:00","115":"2023-05-16 06:00:00","116":"2023-05-16 18:00:00","117":"2023-05-17 15:00:00","118":"2023-05-18 12:00:00","119":"2023-05-21 00:00:00","120":"2023-05-21 21:00:00","121":"2023-05-22 18:00:00","122":"2023-05-23 15:00:00","123":"2023-06-06 15:00:00","124":"2023-06-07 12:00:00","125":"2023-06-08 09:00:00","126":"2023-06-09 06:00:00","127":"2023-06-10 03:00:00","128":"2023-06-11 00:00:00","129":"2023-06-25 00:00:00","130":"2023-06-25 21:00:00","131":"2023-06-26 18:00:00","132":"2023-06-27 15:00:00","133":"2023-06-28 12:00:00","134":"2023-06-29 00:00:00","135":"2023-06-29 00:00:00","136":"2023-07-09 00:00:00"},"end":{"0":"2021-12-07 10:20:00","1":"2021-12-07 11:32:00","2":"2021-12-07 14:46:00","3":"2021-12-07 19:55:00","4":"2021-12-08 23:44:00","5":"2021-12-09 11:15:00","6":"2021-12-13 14:42:00","7":"2021-12-13 18:02:00","8":"2021-12-13 18:15:00","9":"2021-12-15 13:00:00","10":"2021-12-15 15:21:00","11":"2021-12-15 15:25:00","12":"2021-12-17 18:05:00","13":"2021-12-18 11:03:00","14":"2021-12-20 07:03:00","15":"2021-12-20 08:21:00","16":"2021-12-21 14:40:00","17":"2021-12-21 19:30:00","18":"2021-12-21 19:54:00","19":"2021-12-22 15:50:00","20":"2022-01-05 13:17:00","21":"2022-01-05 23:51:00","22":"2022-01-06 11:02:00","23":"2022-01-06 16:12:00","24":"2022-01-06 17:45:00","25":"2022-01-06 19:59:00","26":"2022-01-06 23:00:00","27":"2022-01-07 03:04:00","28":"2022-01-13 14:08:00","29":"2022-02-03 14:58:00","30":"2022-02-03 19:11:00","31":"2022-02-04 12:21:00","32":"2022-02-07 16:32:00","33":"2022-02-09 18:30:00","34":"2022-02-10 00:39:00","35":"2022-02-10 00:59:00","36":"2022-02-10 09:48:00","37":"2022-02-14 17:58:00","38":"2022-02-15 11:18:00","39":"2022-02-15 18:58:00","40":"2022-02-15 19:20:00","41":"2022-02-15 23:57:00","42":"2022-02-16 00:29:00","43":"2022-02-16 00:31:00","44":"2022-02-24 12:12:00","45":"2022-02-24 14:39:00","46":"2022-02-24 15:00:00","47":"2022-02-24 18:09:00","48":"2022-02-25 07:36:00","49":"2022-02-25 11:24:00","50":"2022-02-25 16:45:00","51":"2022-02-26 15:10:00","52":"2022-02-26 15:59:00","53":"2022-02-26 16:00:00","54":"2022-03-10 08:40:00","55":"2022-03-10 11:29:00","56":"2022-03-10 16:17:00","57":"2022-03-10 16:36:00","58":"2022-03-10 16:40:00","59":"2022-03-11 11:26:00","60":"2022-03-11 17:01:00","61":"2022-03-13 08:37:00","62":"2022-03-14 07:07:00","63":"2022-03-14 13:49:00","64":"2022-03-14 20:18:00","65":"2023-03-14 00:00:00","66":"2023-03-14 12:00:00","67":"2023-03-15 09:00:00","68":"2023-03-16 06:00:00","69":"2023-03-18 18:00:00","70":"2023-03-21 06:00:00","71":"2023-03-22 03:00:00","72":"2023-03-23 00:00:00","73":"2023-03-23 21:00:00","74":"2023-03-24 18:00:00","75":"2023-03-25 15:00:00","76":"2023-03-26 12:00:00","77":"2023-03-29 12:00:00","78":"2023-04-01 12:00:00","79":"2023-04-04 12:00:00","80":"2023-04-05 09:00:00","81":"2023-04-06 06:00:00","82":"2023-04-07 03:00:00","83":"2023-04-08 00:00:00","84":"2023-04-08 21:00:00","85":"2023-04-09 18:00:00","86":"2023-04-10 15:00:00","87":"2023-04-11 12:00:00","88":"2023-04-12 09:00:00","89":"2023-04-13 06:00:00","90":"2023-04-14 03:00:00","91":"2023-04-15 00:00:00","92":"2023-04-15 21:00:00","93":"2023-04-16 18:00:00","94":"2023-04-17 15:00:00","95":"2023-04-20 03:00:00","96":"2023-04-21 00:00:00","97":"2023-04-21 21:00:00","98":"2023-04-22 18:00:00","99":"2023-04-23 15:00:00","100":"2023-04-24 12:00:00","101":"2023-04-25 09:00:00","102":"2023-04-26 06:00:00","103":"2023-04-27 03:00:00","104":"2023-04-28 00:00:00","105":"2023-04-30 12:00:00","106":"2023-05-01 09:00:00","107":"2023-05-02 06:00:00","108":"2023-05-03 03:00:00","109":"2023-05-04 00:00:00","110":"2023-05-04 21:00:00","111":"2023-05-05 18:00:00","112":"2023-05-06 06:00:00","113":"2023-05-16 06:00:00","114":"2023-05-16 06:00:00","115":"2023-05-16 18:00:00","116":"2023-05-17 15:00:00","117":"2023-05-18 12:00:00","118":"2023-05-21 00:00:00","119":"2023-05-21 21:00:00","120":"2023-05-22 18:00:00","121":"2023-05-23 15:00:00","122":"2023-06-06 15:00:00","123":"2023-06-07 12:00:00","124":"2023-06-08 09:00:00","125":"2023-06-09 06:00:00","126":"2023-06-10 03:00:00","127":"2023-06-11 00:00:00","128":"2023-06-25 00:00:00","129":"2023-06-25 21:00:00","130":"2023-06-26 18:00:00","131":"2023-06-27 15:00:00","132":"2023-06-28 12:00:00","133":"2023-06-29 00:00:00","134":"2023-07-09 00:00:00","135":"2023-07-09 00:00:00","136":"2023-07-09 12:00:00"},"value":{"0":"REAL","1":"REAL","2":"REAL","3":"REAL","4":"REAL","5":"REAL","6":"REAL","7":"REAL","8":"REAL","9":"REAL","10":"REAL","11":"REAL","12":"REAL","13":"REAL","14":"REAL","15":"REAL","16":"REAL","17":"REAL","18":"REAL","19":"REAL","20":"REAL","21":"REAL","22":"REAL","23":"REAL","24":"REAL","25":"REAL","26":"REAL","27":"REAL","28":"REAL","29":"REAL","30":"REAL","31":"REAL","32":"REAL","33":"REAL","34":"REAL","35":"REAL","36":"REAL","37":"REAL","38":"REAL","39":"REAL","40":"REAL","41":"REAL","42":"REAL","43":"REAL","44":"REAL","45":"REAL","46":"REAL","47":"REAL","48":"REAL","49":"REAL","50":"REAL","51":"REAL","52":"REAL","53":"REAL","54":"REAL","55":"REAL","56":"REAL","57":"REAL","58":"REAL","59":"REAL","60":"REAL","61":"REAL","62":"REAL","63":"REAL","64":"REAL","65":"PROJECTED","66":"PROJECTED","67":"PROJECTED","68":"PROJECTED","69":"PROJECTED","70":"PROJECTED","71":"PROJECTED","72":"PROJECTED","73":"PROJECTED","74":"PROJECTED","75":"PROJECTED","76":"PROJECTED","77":"PROJECTED","78":"PROJECTED","79":"PROJECTED","80":"PROJECTED","81":"PROJECTED","82":"PROJECTED","83":"PROJECTED","84":"PROJECTED","85":"PROJECTED","86":"PROJECTED","87":"PROJECTED","88":"PROJECTED","89":"PROJECTED","90":"PROJECTED","91":"PROJECTED","92":"PROJECTED","93":"PROJECTED","94":"PROJECTED","95":"PROJECTED","96":"PROJECTED","97":"PROJECTED","98":"PROJECTED","99":"PROJECTED","100":"PROJECTED","101":"PROJECTED","102":"PROJECTED","103":"PROJECTED","104":"PROJECTED","105":"PROJECTED","106":"PROJECTED","107":"PROJECTED","108":"PROJECTED","109":"PROJECTED","110":"PROJECTED","111":"PROJECTED","112":"PROJECTED","113":"PROJECTED","114":"SOUS_TRAIT","115":"PROJECTED","116":"PROJECTED","117":"PROJECTED","118":"PROJECTED","119":"PROJECTED","120":"PROJECTED","121":"PROJECTED","122":"PROJECTED","123":"PROJECTED","124":"PROJECTED","125":"PROJECTED","126":"PROJECTED","127":"PROJECTED","128":"PROJECTED","129":"PROJECTED","130":"PROJECTED","131":"PROJECTED","132":"PROJECTED","133":"PROJECTED","134":"PROJECTED","135":"SOUS_TRAIT","136":"PROJECTED"},"group":{"0":"Lot1","1":"Lot1","2":"Lot1","3":"Lot1","4":"Lot1","5":"Lot1","6":"Lot1","7":"Lot1","8":"Lot1","9":"Lot1","10":"Lot1","11":"Lot1","12":"Lot1","13":"Lot1","14":"Lot1","15":"Lot1","16":"Lot1","17":"Lot1","18":"Lot1","19":"Lot1","20":"Lot1","21":"Lot1","22":"Lot1","23":"Lot1","24":"Lot1","25":"Lot1","26":"Lot1","27":"Lot1","28":"Lot1","29":"Lot1","30":"Lot1","31":"Lot1","32":"Lot1","33":"Lot1","34":"Lot1","35":"Lot1","36":"Lot1","37":"Lot1","38":"Lot1","39":"Lot1","40":"Lot1","41":"Lot1","42":"Lot1","43":"Lot1","44":"Lot1","45":"Lot1","46":"Lot1","47":"Lot1","48":"Lot1","49":"Lot1","50":"Lot1","51":"Lot1","52":"Lot1","53":"Lot1","54":"Lot1","55":"Lot1","56":"Lot1","57":"Lot1","58":"Lot1","59":"Lot1","60":"Lot1","61":"Lot1","62":"Lot1","63":"Lot1","64":"Lot1","65":"Lot1","66":"Lot1","67":"Lot1","68":"Lot1","69":"Lot1","70":"Lot1","71":"Lot1","72":"Lot1","73":"Lot1","74":"Lot1","75":"Lot1","76":"Lot1","77":"Lot1","78":"Lot1","79":"Lot1","80":"Lot1","81":"Lot1","82":"Lot1","83":"Lot1","84":"Lot1","85":"Lot1","86":"Lot1","87":"Lot1","88":"Lot1","89":"Lot1","90":"Lot1","91":"Lot1","92":"Lot1","93":"Lot1","94":"Lot1","95":"Lot1","96":"Lot1","97":"Lot1","98":"Lot1","99":"Lot1","100":"Lot1","101":"Lot1","102":"Lot1","103":"Lot1","104":"Lot1","105":"Lot1","106":"Lot1","107":"Lot1","108":"Lot1","109":"Lot1","110":"Lot1","111":"Lot1","112":"Lot1","113":"Lot1","114":"Lot1","115":"Lot1","116":"Lot1","117":"Lot1","118":"Lot1","119":"Lot1","120":"Lot1","121":"Lot1","122":"Lot1","123":"Lot1","124":"Lot1","125":"Lot1","126":"Lot1","127":"Lot1","128":"Lot1","129":"Lot1","130":"Lot1","131":"Lot1","132":"Lot1","133":"Lot1","134":"Lot1","135":"Lot1","136":"Lot1"},"step_number":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":9,"9":10,"10":11,"11":12,"12":13,"13":14,"14":15,"15":17,"16":23,"17":24,"18":25,"19":26,"20":27,"21":28,"22":29,"23":30,"24":31,"25":32,"26":33,"27":34,"28":35,"29":36,"30":37,"31":38,"32":39,"33":40,"34":41,"35":42,"36":43,"37":47,"38":48,"39":49,"40":50,"41":51,"42":52,"43":53,"44":54,"45":55,"46":56,"47":57,"48":58,"49":59,"50":60,"51":61,"52":62,"53":63,"54":64,"55":65,"56":66,"57":67,"58":68,"59":69,"60":70,"61":71,"62":72,"63":73,"64":74,"65":75,"66":76,"67":77,"68":78,"69":79,"70":80,"71":81,"72":82,"73":83,"74":84,"75":85,"76":86,"77":87,"78":88,"79":89,"80":90,"81":91,"82":92,"83":93,"84":94,"85":95,"86":96,"87":97,"88":98,"89":99,"90":100,"91":101,"92":102,"93":103,"94":104,"95":105,"96":106,"97":107,"98":108,"99":109,"100":110,"101":111,"102":112,"103":113,"104":114,"105":115,"106":116,"107":117,"108":118,"109":119,"110":120,"111":121,"112":122,"113":123,"114":123,"115":124,"116":125,"117":126,"118":127,"119":128,"120":129,"121":130,"122":131,"123":132,"124":133,"125":134,"126":135,"127":136,"128":137,"129":138,"130":139,"131":140,"132":141,"133":142,"134":143,"135":143,"136":144}}
test = pd.DataFrame(data)
test['start'] = pd.to_datetime(test['start'])
test['end'] = pd.to_datetime(test['end'])

fig = px.timeline(test, x_start="start", x_end="end", y='step_number',
color="value", facet_row="group")
fig.show()
example

@SuperHao-Wu
Copy link

Hello,
is the issue resolved, I still get same problem, why closed, do we need a new issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something broken
Projects
None yet
Development

No branches or pull requests

6 participants