Skip to content

Commit cc6aeb6

Browse files
committed
improved unit tests for rcParams + small fix to suptitle rcParams
1 parent 8b269bf commit cc6aeb6

2 files changed

Lines changed: 25 additions & 19 deletions

File tree

control/ctrlplot.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ def suptitle(
4646

4747
elif frame == 'axes':
4848
# TODO: move common plotting params to 'ctrlplot'
49-
rcParams = config._get_param('freqplot', 'rcParams', rcParams)
5049
with plt.rc_context(rcParams):
5150
plt.tight_layout() # Put the figure into proper layout
5251
xc, _ = _find_axes_center(fig, fig.get_axes())

control/tests/timeplot_test.py

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -395,27 +395,34 @@ def test_rcParams():
395395
sys = ct.rss(2, 2, 2)
396396

397397
# Create new set of rcParams
398-
my_rcParams = {
399-
'axes.labelsize': 10,
400-
'axes.titlesize': 10,
401-
'figure.titlesize': 12,
402-
'legend.fontsize': 10,
403-
'xtick.labelsize': 10,
404-
'ytick.labelsize': 10,
405-
}
398+
my_rcParams = {}
399+
for key in [
400+
'axes.labelsize', 'axes.titlesize', 'figure.titlesize',
401+
'legend.fontsize', 'xtick.labelsize', 'ytick.labelsize']:
402+
match plt.rcParams[key]:
403+
case 8 | 9 | 10:
404+
my_rcParams[key] = plt.rcParams[key] + 1
405+
case 'medium':
406+
my_rcParams[key] = 11.5
407+
case 'large':
408+
my_rcParams[key] = 9.5
409+
case _:
410+
raise ValueError(f"unknown rcParam type for {key}")
406411

407412
# Generate a figure with the new rcParams
408413
out = ct.step_response(sys).plot(rcParams=my_rcParams)
409414
ax = out[0, 0][0].axes
410415
fig = ax.figure
411416

412417
# Check to make sure new settings were used
413-
assert ax.xaxis.get_label().get_fontsize() == 10
414-
assert ax.yaxis.get_label().get_fontsize() == 10
415-
assert ax.title.get_fontsize() == 10
416-
assert ax.xaxis._get_tick_label_size('x') == 10
417-
assert ax.yaxis._get_tick_label_size('y') == 10
418-
assert fig._suptitle.get_fontsize() == 10
418+
assert ax.xaxis.get_label().get_fontsize() == my_rcParams['axes.labelsize']
419+
assert ax.yaxis.get_label().get_fontsize() == my_rcParams['axes.labelsize']
420+
assert ax.title.get_fontsize() == my_rcParams['axes.titlesize']
421+
assert ax.get_xticklabels()[0].get_fontsize() == \
422+
my_rcParams['xtick.labelsize']
423+
assert ax.get_yticklabels()[0].get_fontsize() == \
424+
my_rcParams['ytick.labelsize']
425+
assert fig._suptitle.get_fontsize() == my_rcParams['figure.titlesize']
419426

420427
def test_relabel():
421428
sys1 = ct.rss(2, inputs='u', outputs='y')
@@ -558,10 +565,10 @@ def test_errors():
558565

559566
plt.figure()
560567
out = ct.step_response(sys_mimo).plot(
561-
plot_inputs='overlay', overlay_signals=True, overlay_traces=True,
562-
output_props=[{'color': c} for c in ['blue', 'orange']],
563-
input_props=[{'color': c} for c in ['red', 'green']],
564-
trace_props=[{'linestyle': s} for s in ['-', '--']])
568+
plot_inputs='overlay', overlay_signals=True, overlay_traces=True,
569+
output_props=[{'color': c} for c in ['blue', 'orange']],
570+
input_props=[{'color': c} for c in ['red', 'green']],
571+
trace_props=[{'linestyle': s} for s in ['-', '--']])
565572
plt.savefig('timeplot-mimo_step-linestyle.png')
566573

567574
sys1 = ct.rss(4, 2, 2)

0 commit comments

Comments
 (0)