Update options

This commit is contained in:
rasmusvt 2021-10-14 15:10:37 +02:00
parent 43e6ef27c8
commit be7d153a9d
2 changed files with 39 additions and 26 deletions

View file

@ -381,7 +381,7 @@ def unit_conversion(df, new_units, old_units, kind):
columns.append('cycle_time')
columns.append('run_time')
columns.append('time')
df.drop(['Record number', 'Relative Time(h:min:s.ms)', 'Real Time(h:min:s.ms)'], axis=1, inplace=True)

View file

@ -16,8 +16,8 @@ def plot_gc(path, kind, options=None):
# Update options
required_options = ['x_vals', 'y_vals', 'which_cycles', 'chg', 'dchg', 'colours', 'gradient']
default_options = {'x_vals': 'capacity', 'y_vals': 'voltage', 'which_cycles': 'all', 'chg': True, 'dchg': True, 'colours': None, 'gradient': False}
required_options = ['x_vals', 'y_vals', 'which_cycles', 'chg', 'dchg', 'colours', 'differentiate_charge_discharge', 'gradient']
default_options = {'x_vals': 'capacity', 'y_vals': 'voltage', 'which_cycles': 'all', 'chg': True, 'dchg': True, 'colours': None, 'differentiate_charge_discharge': True, 'gradient': False}
options = update_options(options=options, required_options=required_options, default_options=default_options)
@ -26,10 +26,6 @@ def plot_gc(path, kind, options=None):
colours = generate_colours(cycles=cycles, options=options)
print(len(options['which_cycles']))
print(len(colours))
for i, cycle in enumerate(cycles):
if i in options['which_cycles']:
@ -144,10 +140,10 @@ def prettify_gc_plot(fig, ax, options=None):
required_options = [
'columns',
'xticks', 'yticks',
'show_major_ticks',
'show_minor_ticks',
'show_major_ticks', 'show_minor_ticks',
'xlim', 'ylim',
'hide_x_axis', 'hide_y_axis',
'positions',
'x_vals', 'y_vals',
'xlabel', 'ylabel',
'units', 'sizes',
@ -158,18 +154,13 @@ def prettify_gc_plot(fig, ax, options=None):
# Define the default options
default_options = {
'columns': 1,
'xticks': None,
'yticks': None,
'show_major_ticks': [True, True, True, True],
'show_minor_ticks': [True, True, True, True],
'xlim': None,
'ylim': None,
'hide_x_axis': False,
'hide_y_axis': False,
'x_vals': 'specific_capacity',
'y_vals': 'voltage',
'xlabel': None,
'ylabel': None,
'xticks': None, 'yticks': None,
'show_major_ticks': [True, True, True, True], 'show_minor_ticks': [True, True, True, True],
'xlim': None,'ylim': None,
'hide_x_axis': False, 'hide_y_axis': False,
'positions': {'xaxis': 'bottom', 'yaxis': 'left'},
'x_vals': 'specific_capacity', 'y_vals': 'voltage',
'xlabel': None, 'ylabel': None,
'units': None,
'sizes': None,
'title': None
@ -222,8 +213,6 @@ def prettify_gc_plot(fig, ax, options=None):
if not options['xlabel']:
print(options['x_vals'])
print(options['units'])
options['xlabel'] = prettify_labels(options['x_vals']) + ' [{}]'.format(options['units'][options['x_vals']])
else:
@ -250,13 +239,21 @@ def prettify_gc_plot(fig, ax, options=None):
# DEFINE AND SET TICK DISTANCES
from . import unit_tables
# Define default ticks and scale to desired units
default_ticks = {
'specific_capacity': [100, 50],
'capacity': [0.1, 0.05],
'voltage': [0.5, 0.25]
'specific_capacity': [100 * (unit_tables.capacity()['mAh'].loc[options['units']['capacity']] / unit_tables.mass()['g'].loc[options['units']['mass']]), 50 * (unit_tables.capacity()['mAh'].loc[options['units']['capacity']] / unit_tables.mass()['g'].loc[options['units']['mass']])],
'capacity': [0.1 * (unit_tables.capacity()['mAh'].loc[options['units']['capacity']]), 0.05 * (unit_tables.capacity()['mAh'].loc[options['units']['capacity']])],
'voltage': [0.5 * (unit_tables.voltage()['V'].loc[options['units']['voltage']]), 0.25 * (unit_tables.voltage()['V'].loc[options['units']['voltage']])],
'time': [10 * (unit_tables.time()['h'].loc[options['units']['time']]), 5 * (unit_tables.time()['h'].loc[options['units']['time']])]
}
if options['positions']['yaxis'] == 'right':
ax.yaxis.set_label_position("right")
ax.yaxis.tick_right()
# Set default tick distances for x-axis if not specified
if not options['xticks']:
@ -290,11 +287,23 @@ def prettify_gc_plot(fig, ax, options=None):
ax.yaxis.set_minor_locator(MultipleLocator(minor_ytick))
# SET FONTSIZE OF TICK LABELS
plt.xticks(fontsize=options['sizes']['tick_labels'])
plt.yticks(fontsize=options['sizes']['tick_labels'])
##################################################################
########################## AXES LIMITS ###########################
##################################################################
if options['xlim']:
plt.xlim(options['xlim'])
if options['ylim']:
plt.ylim(options['ylim'])
##################################################################
############################# TITLE ##############################
##################################################################
@ -319,6 +328,7 @@ def prettify_labels(label):
'voltage': 'Voltage',
'current': 'Current',
'energy': 'Energy',
'time': 'Time'
}
return labels_dict[label]
@ -341,6 +351,9 @@ def generate_colours(cycles, options):
charge_colour = (40/255, 70/255, 75/255) # Dark Slate Gray #28464B, coolors.co
discharge_colour = (239/255, 160/255, 11/255) # Marigold #EFA00B, coolors.co
if not options['differentiate_charge_discharge']:
discharge_colour = charge_colour
# If gradient is enabled, find start and end points for each colour