Allow specification of colours for several cycles
This commit is contained in:
parent
f8f5e2ebb2
commit
ed2bb8158e
1 changed files with 20 additions and 13 deletions
|
|
@ -74,13 +74,12 @@ def plot_gc(data, options=None):
|
||||||
else:
|
else:
|
||||||
fig, ax = options['fig'], options['ax']
|
fig, ax = options['fig'], options['ax']
|
||||||
|
|
||||||
for i, cycle in enumerate(data['cycles']):
|
for i, cycle in enumerate(options['which_cycles']):
|
||||||
if i in options['which_cycles']:
|
|
||||||
if options['charge']:
|
if options['charge']:
|
||||||
cycle[0].plot(x=options['x_vals'], y=options['y_vals'], ax=ax, c=colours[i][0])
|
data['cycles'][cycle][0].plot(x=options['x_vals'], y=options['y_vals'], ax=ax, c=colours[i][0])
|
||||||
|
|
||||||
if options['discharge']:
|
if options['discharge']:
|
||||||
cycle[1].plot(x=options['x_vals'], y=options['y_vals'], ax=ax, c=colours[i][1])
|
data['cycles'][cycle][1].plot(x=options['x_vals'], y=options['y_vals'], ax=ax, c=colours[i][1])
|
||||||
|
|
||||||
|
|
||||||
if options['interactive_session_active']:
|
if options['interactive_session_active']:
|
||||||
|
|
@ -159,11 +158,11 @@ def plot_gc(data, options=None):
|
||||||
else:
|
else:
|
||||||
if options['charge']:
|
if options['charge']:
|
||||||
yval = 'charge_' + options['x_vals']
|
yval = 'charge_' + options['x_vals']
|
||||||
data['cycles'].loc[mask].plot(x='cycle', y=yval, ax=ax, color=colours[0][0], kind='scatter', marker="$\u25EF$", s=plt.rcParams['lines.markersize'])
|
data['cycles'].loc[mask].plot(x='cycle', y=yval, ax=ax, color=colours[0][0], kind='scatter', marker="$\u25EF$", s=plt.rcParams['lines.markersize']*10)
|
||||||
|
|
||||||
if options['discharge']:
|
if options['discharge']:
|
||||||
yval = 'discharge_' + options['x_vals']
|
yval = 'discharge_' + options['x_vals']
|
||||||
data['cycles'].loc[mask].plot(x='cycle', y=yval, ax=ax, color=colours[0][1], kind='scatter', marker="$\u25EF$", s=plt.rcParams['lines.markersize'])
|
data['cycles'].loc[mask].plot(x='cycle', y=yval, ax=ax, color=colours[0][1], kind='scatter', marker="$\u25EF$", s=plt.rcParams['lines.markersize']*10)
|
||||||
|
|
||||||
|
|
||||||
if options['limit']:
|
if options['limit']:
|
||||||
|
|
@ -611,17 +610,25 @@ def generate_colours(cycles, options):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Generate lists of colours
|
# Generate lists of colours
|
||||||
colours = []
|
colours = []
|
||||||
|
|
||||||
for cycle_number in range(0, len(cycles)):
|
if len(charge_colour) != len(options['which_cycles']):
|
||||||
if options['gradient']:
|
|
||||||
weight_start = (len(cycles) - cycle_number)/len(cycles)
|
|
||||||
weight_end = cycle_number/len(cycles)
|
|
||||||
|
|
||||||
charge_colour = [weight_start*start_colour + weight_end*end_colour for start_colour, end_colour in zip(charge_colour_start, charge_colour_end)]
|
for cycle_number in range(0, len(options['which_cycles'])):
|
||||||
discharge_colour = [weight_start*start_colour + weight_end*end_colour for start_colour, end_colour in zip(discharge_colour_start, discharge_colour_end)]
|
if options['gradient']:
|
||||||
|
weight_start = ((len(options['which_cycles'])) - cycle_number)/(len(options['which_cycles']))
|
||||||
|
weight_end = cycle_number/len(options['which_cycles'])
|
||||||
|
|
||||||
colours.append([charge_colour, discharge_colour])
|
charge_colour = [weight_start*start_colour + weight_end*end_colour for start_colour, end_colour in zip(charge_colour_start, charge_colour_end)]
|
||||||
|
discharge_colour = [weight_start*start_colour + weight_end*end_colour for start_colour, end_colour in zip(discharge_colour_start, discharge_colour_end)]
|
||||||
|
|
||||||
|
colours.append([charge_colour, discharge_colour])
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
for charge, discharge in zip(charge_colour, discharge_colour):
|
||||||
|
colours.append([charge, discharge])
|
||||||
|
|
||||||
return colours
|
return colours
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue