Plotly

Plotly produces interactive graphics that can be saved as html and is thus a good choice if you either want to explore your data without changing your code or you want to create figures to be viewed on a webpage. Bokeh is another package with similar capabilities.

Like Matplotlib, plotly is a large package and you will usually only be working with a subpackage. Plotly has a subpackage called plotly express that allows you to make many plots, but with less control then you get with the full plotly package. In general you will want to create your plot with plotly express, but then to adjust it you will need to use plotly.  The standard way to import both plotly express and the normal plotting functions are

import plotly.express as px
import plotly.graph_objects as go

Here is how to create a simple line plot in plotly and then add a second line and add labels assuming numpy has been loaded as np.

x=np.linespace(0,10)
y=np.cos(x)
y2=np.cos(x)**2
label_dict=dict(x='theta',y='amplitude',color='This Label')
fig=px.line(x=x,y=y,title="cos plot",labels=label_dict)
fig.add_trace(go.Scatter(x=x,y=y2,mode='lines',name='cos^2',
      line_color='red'))
fig.update
fig.show() #how/if this works depends on where you run the code
fig.write_html('example.html') #write to a file

Plotly works very well with pandas dataframes. For most of the keyword arguments one can either pass a dataframe column name or an array. Plotly express includes some dataframes to practice with.