Matplotlib: - Exercises, Practice, Solution
[An editor is available at the bottom of the page to write and execute the scripts.]
Matplotlib is a Python plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shells, the Jupyter notebook, web application servers, and four graphical user interface toolkits.
The best way we learn anything is by practice and exercise questions. Here you have the opportunity to practice the NumPy concepts by solving the exercises starting from basic to more complex exercises. A sample solution is provided for each exercise. It is recommended to do these exercises by yourself first before checking the solution.
Hope, these exercises help you to improve your Matplotlib coding skills. Currently, following sections are available, we are working hard to add more exercises .... Happy Coding!
List of Matplotlib Exercises:
Matplotlib Basics
Creating Plots
Figure
Operator | Description |
---|---|
fig = plt.figures() | a container that contains all plot elements |
Axes
Operator | Description |
---|---|
fig.add_axes() a = fig.add_subplot(222) |
Initializes subplot A subplot is an axes on a grid system row-col-num. |
fig, b = plt.subplots(nrows=3, nclos=2) | Adds subplot |
ax = plt.subplots(2, 2) | Creates subplot |
Plotting
1D Data
Operator | Description |
---|---|
lines = plt.plot(x,y) | Plot data connected by lines |
plt.scatter(x,y) | Creates a scatterplot, unconnected data points |
plt.bar(xvalue, data , width, color...) | simple vertical bar chart |
plt.barh(yvalue, data, width, color...) | simple horizontal bar |
plt.hist(x, y) | Plots a histogram |
plt.boxplot(x,y) | Box and Whisker plot |
plt.violinplot(x, y) | Creates violin plot |
ax.fill(x, y, color='lightblue') ax.fill_between(x,y,color='yellow') |
Fill area under/between plots |
2D Data
Operator | Description |
---|---|
fig, ax = plt.subplots() im = ax.imshow(img, cmap, vmin...) |
Colormapped or RGB arrays |
Saving plots
Operator | Description |
---|---|
plt.savefig('pic.png') | Saves plot/figure to image |
plt.savefig('transparentback.png') | Saves transparent plot/figure to image |
Customization
Color
Operator | Description |
---|---|
plt.plot(x, y, color='lightblue') plt.plot(x, y, alpha = 0.4) |
colors plot to color blue |
plt.colorbar(mappable, orientation='horizontal') |
mappable: the Image, Contourset etc to which colorbar applies |
Markers
Operator | Description |
---|---|
plt.plot(x, y, marker='*') | adds * for every data point |
plt.scatter(x, y, marker='.') | adds . for every data point |
Lines
Operator | Description |
---|---|
plt.plot(x, y, linewidth=2) | Sets line width |
plt.plot(x, y, ls='solid') | Sets linestyle, ls can be ommitted, see 2 below |
plt.plot(x, y, ls='--') | Sets linestyle, ls can be ommitted, see below |
plt.plot(x,y,'--', x**2, y**2, '-.') | Lines are '--' and '_.' |
plt.setp(lines,color='red',linewidth=2) | Sets properties of plot lines |
Text
Operator | Description |
---|---|
plt.text(1, 1,'Example Text',style='italic') |
Places text at coordinates 1/1 |
ax.annotate('some annotation', xy=(10, 10)) | Annotate the point with coordinatesxy with text s |
plt.title(r'$delta_i=20$', fontsize=10) | Mathtext |
Limits
Operators | Description |
---|---|
plt.xlim(0, 7) | Sets x-axis to display 0 - 7 |
other = array.copy() | Creates deep copy of array |
plt.ylim(-0.5, 9) | Sets y-axis to display -0.5 - 9 |
ax.set(xlim=[0, 7], ylim=[-0.5, 9]) ax.set_xlim(0, 7) |
Sets limits |
plt.margins(x=1.0, y=1.0) | Set margins: add padding to a plot, values 0 - 1 |
plt.axis('equal') | Set the aspect ratio of the plot to 1 |
Legends/Labels
Operator | Description |
---|---|
plt.title('just a title') | Sets title of plot |
plt.xlabel('x-axis') | Sets label next to x-axis |
plt.ylabel('y-axis') | Sets label next to y-axis |
ax.set(title='axis', ylabel='Y-Axis', xlabel='X-Axis') | Set title and axis labels |
ax.legend(loc='best') | No overlapping plot elements |
Ticks
Operator | Description |
---|---|
plt.xticks(x, labels, rotation='vertical') | Set ticks |
ax.xaxis.set(ticks=range(1,5), ticklabels=[3,100,-12,"foo"]) | Set x-ticks |
ax.tick_params(axis='y', direction='inout', length=10) | Make y-ticks longer and go in and out |
List of Exercises with Solutions :
- HTML CSS Exercises, Practice, Solution
- JavaScript Exercises, Practice, Solution
- jQuery Exercises, Practice, Solution
- jQuery-UI Exercises, Practice, Solution
- CoffeeScript Exercises, Practice, Solution
- Twitter Bootstrap Exercises, Practice, Solution
- C Programming Exercises, Practice, Solution
- C# Sharp Programming Exercises, Practice, Solution
- PHP Exercises, Practice, Solution
- Python Exercises, Practice, Solution
- R Programming Exercises, Practice, Solution
- Java Exercises, Practice, Solution
- SQL Exercises, Practice, Solution
- MySQL Exercises, Practice, Solution
- PostgreSQL Exercises, Practice, Solution
- SQLite Exercises, Practice, Solution
- MongoDB Exercises, Practice, Solution
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/graphics/matplotlib/index.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics