Plotting certain columns after using groupby

I have the following code:

data = {'Customer_id': [1, 2, 1, 2, 1, 2, 3, 4, 4, 1, 2, 1, 2, 3, 4, 4, 2, 1, 3],
'order_time': ['2010-01-01 01:01:00', '2010-01-01 01:05:00' , '2010-01-01 01:24:00', 
               '2010-01-01 01:27:00', '2010-01-01 01:33:00', '2010-01-01 01:34:00', 
               '2010-01-01 01:35:00', '2010-01-01 01:37:00', '2010-01-01 01:38:00',  
               '2010-01-13 05:52:00', '2010-01-13 05:53:00', '2010-01-13 05:54:00', 
               '2010-01-13 05:58:00', '2010-01-13 06:04:00', '2010-01-13 06:14:00', 
               '2010-01-13 06:25:00', '2010-01-13 06:024:00', '2010-01-13 06:26:00', '2010-01-13 06:27:00']}

df = pd.DataFrame(data)


df['Round_10_min_start'] = df['order_time'].dt.floor('10min')
df['Round_10_min_end'] = df['Round_10_min_start'] +  pd.Timedelta(minutes = 9)

df['Round_combined'] = df['Round_10_min_start'].dt.strftime('%H:%M:%S') + '-' + df['Round_10_min_end'].dt.strftime('%H:%M:%S')

df['Round_10_min_start'] = df['Round_10_min_start'].dt.time
df['Round_10_min_end'] = df['Round_10_min_end'].dt.time

df['Freq_id'] = df.groupby(['Customer_id', 'Round_combined'])['order_time'].transform('count')
df['Total'] = df.groupby(['Round_combined'])['Customer_id'].transform('count')

which calculate the time period of 10 min and 30 min as a scope. In doing so, I would like to know how many orders were made during the 10 or 30 minutes of a certain hour. I used df['days'] = df['order_time'].dt.day_name() to get the days of week as names. I have been struggling with plotting each day “behaviour” after using the command day_fr = df.groupby(['day', 'Round_combined'])['order_time'].count() plotting: day_fr.plot() but it gives only one curve and I would like to have a curve for each day of the week in the same window.

The results should something like the following: enter image description here

Where the y-axis is the count of the orders during days (Mo-Su). For eaxmaple it counts all orders that made on Friday and plot a “Fraiday curve” etc… whereas x-axis is the time scope in which the orders wehere made. Each colered curve representing a day of week.

Answer

The x-axis is a time series, and the y-axis is a graph with counts, day of the week, as an example of expected output was provided. Is this understanding correct? However, with the current data, it is not a curve.

df['days'] = df['order_time'].dt.day_name()
day_fr = df.groupby(['days', 'Round_combined'])['order_time'].count().reset_index()
day_fr = day_fr.pivot('Round_combined', 'days', 'order_time')
day_fr.plot.line(rot=90)

enter image description here