I’m not sure if there’s a quick route to remove just spines and not other objects from the axis (there might be, I just don’t know it) which would involve making things visible again. Might be easiest to stick to the standard for loop and if that’s not terse enough you’ll have to search for a better way-
for spine_obj in ax.spines.values():
Edit: Read the actual text and it can understand it a lot better but the fact I had to says the figure could do with at least a little more information (but not too much). It might be a consequence of jupyter or the way the code is rendering to a web page but the ticks and marks on some of those graphs are a bit small or they begin to overlap. Your job is to make the data as easily digestible as possible, if you’re straining to read the labels because they’re the wrong size or the letters overlap then that needs to be fixed.
Whether or not some of these comments are relevant depends a little on what the graphic is for so they might not be relevant. A figure in a document would be different from a figure in a presentation but I’d always advocate for making the information as obvious as possible from the graphic alone. Ideally you could understand it by the image faster than if someone explained it to you (either in text or spoken word).
I’ve not come across the project before but from the graphic alone it appears to be a count of viewers for particular games (abbreivations/shortenings might need to be defined at some point depending on the audience). There’s not much more info though. Is this during a set time period (a live count at a specific time, an accumulation over several hours)? Perhaps that should be included?
I’m not sure about the legend tab. That might be better in a title or a caption. Or was the intention to include viewers from different streaming platforms in different colours on the same bar chart or something like that?