Skip to content

Commit 945181a

Browse files
refactor(notebook): remove all images and GIFs
1 parent d016c25 commit 945181a

File tree

1 file changed

+0
-65
lines changed

1 file changed

+0
-65
lines changed

python_utilities/top_6_python_visualization_libraries.ipynb

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,6 @@
8484
"cell_type": "markdown",
8585
"metadata": {},
8686
"source": [
87-
"![matplotlib bar plot](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_bar.png)\n",
88-
"\n",
8987
"Despite Matplotlib's suboptimal x-axis representation, the graph provides a clear understanding of the data distribution.\n",
9088
"\n",
9189
"#### Versatility\n",
@@ -138,8 +136,6 @@
138136
"cell_type": "markdown",
139137
"metadata": {},
140138
"source": [
141-
"![matplotlib text plot](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_custom.png)\n",
142-
"\n",
143139
"#### Animation capabilities\n",
144140
"\n",
145141
"Matplotlib provides powerful animation features through the `matplotlib.animation` module, enabling dynamic visualizations that evolve over time. Here are three examples that showcase the animation capabilities:\n",
@@ -179,8 +175,6 @@
179175
"cell_type": "markdown",
180176
"metadata": {},
181177
"source": [
182-
"![matplotlib animated sine wave](https://codecut.ai/wp-content/uploads/2025/08/sine_wave_animation-3.gif)\n",
183-
"\n",
184178
"**Animated Bar Chart Race**"
185179
]
186180
},
@@ -229,11 +223,8 @@
229223
"cell_type": "markdown",
230224
"metadata": {},
231225
"source": [
232-
"![matplotlib animated bar chart race](https://codecut.ai/wp-content/uploads/2025/08/bar_race_animation-1.gif)\n",
233-
"\n",
234226
"These animations demonstrate Matplotlib's versatility for creating engaging dynamic visualizations, from scientific data trends to business dashboards.\n",
235227
"\n",
236-
"\n",
237228
"#### Publication-quality output\n",
238229
"\n",
239230
"Matplotlib excels at creating high-resolution, publication-ready visualizations suitable for academic papers, research reports, and professional presentations. The library provides precise control over figure size, DPI, and output formats (PNG, PDF, SVG, EPS), ensuring your plots meet the strict requirements of scientific journals and publications."
@@ -284,15 +275,12 @@
284275
"cell_type": "markdown",
285276
"metadata": {},
286277
"source": [
287-
"![matplotlib publication-ready plots](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_publication-scaled.png)\n",
288-
"\n",
289278
"### Cons\n",
290279
"\n",
291280
"#### Steep learning curve\n",
292281
"\n",
293282
"Matplotlib's extensive functionality comes with complexity. New users often find the syntax overwhelming, especially when transitioning from point-and-click visualization tools. Understanding the figure-axes hierarchy and object-oriented vs. pyplot interfaces requires significant time investment.\n",
294283
"\n",
295-
"\n",
296284
"#### Extensive styling needed for publication-ready common plots\n",
297285
"\n",
298286
"While Matplotlib supports virtually any chart type, producing visually polished versions of standard plots like histograms, scatter plots, or bar charts requires substantial customization work.\n",
@@ -319,8 +307,6 @@
319307
"cell_type": "markdown",
320308
"metadata": {},
321309
"source": [
322-
"![matplotlib heatmap](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_heatmap.png)\n",
323-
"\n",
324310
"Creating a readable heatmap in Matplotlib requires several manual steps:\n",
325311
"\n",
326312
"- Define the visualization layout and color scheme\n",
@@ -369,8 +355,6 @@
369355
"cell_type": "markdown",
370356
"metadata": {},
371357
"source": [
372-
"![matplotlib annotated heatmap](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_heatmap2.png)\n",
373-
"\n",
374358
"Creating a basic annotated heatmap shouldn't require this many lines of manual setup and configuration.\n",
375359
"\n",
376360
"#### Manual statistical processing required\n",
@@ -445,8 +429,6 @@
445429
"cell_type": "markdown",
446430
"metadata": {},
447431
"source": [
448-
"![matplotlib penguins regression](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_regression.png)\n",
449-
"\n",
450432
"### Key Takeaways\n",
451433
"\n",
452434
"Matplotlib is capable of producing any plot, but creating complex plots often requires more code compared to other libraries.\n",
@@ -514,8 +496,6 @@
514496
"cell_type": "markdown",
515497
"metadata": {},
516498
"source": [
517-
"![seaborn heatmap](https://codecut.ai/wp-content/uploads/2025/08/seaborn_heatmap.png)\n",
518-
"\n",
519499
"Other examples of seaborn's statistical plots:\n",
520500
"\n",
521501
"**Automatic distribution fitting and visualization:**"
@@ -535,9 +515,6 @@
535515
"cell_type": "markdown",
536516
"metadata": {},
537517
"source": [
538-
"![seaborn displot](https://codecut.ai/wp-content/uploads/2025/08/seaborn_displot.png)\n",
539-
"\n",
540-
"\n",
541518
"**Automatic marginal distribution and correlation computation:**"
542519
]
543520
},
@@ -555,8 +532,6 @@
555532
"cell_type": "markdown",
556533
"metadata": {},
557534
"source": [
558-
"![seaborn jointplot](https://codecut.ai/wp-content/uploads/2025/08/seaborn_jointplot.png)\n",
559-
"\n",
560535
"**Automatic pairwise relationships:**"
561536
]
562537
},
@@ -574,8 +549,6 @@
574549
"cell_type": "markdown",
575550
"metadata": {},
576551
"source": [
577-
"![seaborn pairplot](https://codecut.ai/wp-content/uploads/2025/08/seaborn_pairplot.png)\n",
578-
"\n",
579552
"**Distribution visualization with kernel density:**"
580553
]
581554
},
@@ -593,8 +566,6 @@
593566
"cell_type": "markdown",
594567
"metadata": {},
595568
"source": [
596-
"![seaborn violinplot](https://codecut.ai/wp-content/uploads/2025/08/seaborn_violinplot.png)\n",
597-
"\n",
598569
"**Statistical summary with quartiles:**"
599570
]
600571
},
@@ -614,7 +585,6 @@
614585
"source": [
615586
"These examples demonstrate how seaborn handles complex statistical processing automatically, saving significant manual computation and code complexity.\n",
616587
"\n",
617-
"\n",
618588
"### Cons\n",
619589
"\n",
620590
"#### Limited customization compared to Matplotlib\n",
@@ -659,8 +629,6 @@
659629
"cell_type": "markdown",
660630
"metadata": {},
661631
"source": [
662-
"![seaborn line plot with annotations](https://codecut.ai/wp-content/uploads/2025/08/seaborn_customization.png)\n",
663-
"\n",
664632
"#### Limited plot type collection\n",
665633
"\n",
666634
"While seaborn excels at statistical plots, it lacks the breadth of Matplotlib's visualization options for specialized scientific or custom chart types.\n",
@@ -713,11 +681,8 @@
713681
"cell_type": "markdown",
714682
"metadata": {},
715683
"source": [
716-
"![pygal bar chart](https://codecut.ai/wp-content/uploads/2025/08/pygal_svg.png)\n",
717-
"\n",
718684
"The resulting SVG can be embedded directly into HTML without additional dependencies or image files.\n",
719685
"\n",
720-
"\n",
721686
"#### Built-in interactivity with hover tooltips\n",
722687
"\n",
723688
"Every Pygal chart includes hover tooltips by default through native SVG interactivity. Users can explore data points without requiring additional JavaScript libraries, frameworks, or configuration.\n",
@@ -740,8 +705,6 @@
740705
"cell_type": "markdown",
741706
"metadata": {},
742707
"source": [
743-
"![pygal bar chart in browser](https://codecut.ai/wp-content/uploads/2025/08/pygal_barchart.gif)\n",
744-
"\n",
745708
"To see Pygal's interactivity in Jupyter notebooks, include the following JavaScript dependencies:"
746709
]
747710
},
@@ -825,8 +788,6 @@
825788
"cell_type": "markdown",
826789
"metadata": {},
827790
"source": [
828-
"![pygal radar chart](https://codecut.ai/wp-content/uploads/2025/08/pygal_radarchart.png)\n",
829-
"\n",
830791
"**Box Plot - Age Distribution by Passenger Class**\n",
831792
"\n",
832793
"Compare age distributions across different Titanic passenger classes:"
@@ -868,8 +829,6 @@
868829
"cell_type": "markdown",
869830
"metadata": {},
870831
"source": [
871-
"![pygal box plot](https://codecut.ai/wp-content/uploads/2025/08/pygal_boxplot.gif)\n",
872-
"\n",
873832
"#### Minimal dependencies and fast loading\n",
874833
"\n",
875834
"Pygal requires minimal dependencies compared to other visualization libraries, making it ideal for lightweight applications where deployment size and startup speed matter.\n",
@@ -917,8 +876,6 @@
917876
"cell_type": "markdown",
918877
"metadata": {},
919878
"source": [
920-
"![plotly scatter plot](https://codecut.ai/wp-content/uploads/2025/08/plotly_interactive.gif)\n",
921-
"\n",
922879
"#### Simplicity in complex plots\n",
923880
"\n",
924881
"Plotly simplifies the creation of complex plots that might be challenging with other libraries.\n",
@@ -954,8 +911,6 @@
954911
"cell_type": "markdown",
955912
"metadata": {},
956913
"source": [
957-
"![plotly scatter plot with map](https://codecut.ai/wp-content/uploads/2025/08/plotly_map.png)\n",
958-
"\n",
959914
"In this example, the color of the bubbles represents the number of stars, while the size corresponds to the number of forks.\n",
960915
"\n",
961916
"#### Business intelligence features\n",
@@ -994,8 +949,6 @@
994949
"cell_type": "markdown",
995950
"metadata": {},
996951
"source": [
997-
"![plotly sunburst chart](https://codecut.ai/wp-content/uploads/2025/08/plotly_sunburst.gif)\n",
998-
"\n",
999952
"The following example shows an animated bubble chart with timeline controls. Users can navigate through decades of data evolution with custom timeline controls, play/pause buttons, and range sliders."
1000953
]
1001954
},
@@ -1029,8 +982,6 @@
1029982
"cell_type": "markdown",
1030983
"metadata": {},
1031984
"source": [
1032-
"![plotly animated bubble chart](https://codecut.ai/wp-content/uploads/2025/08/plotly_animated_scatter.gif)\n",
1033-
"\n",
1034985
"### Cons\n",
1035986
"\n",
1036987
"#### Heavy dependencies\n",
@@ -1071,8 +1022,6 @@
10711022
"cell_type": "markdown",
10721023
"metadata": {},
10731024
"source": [
1074-
"![altair bar chart](https://codecut.ai/wp-content/uploads/2025/08/altair_simple.png)\n",
1075-
"\n",
10761025
"Altair's concise syntax allows you to focus on the data and its relationships, resulting in efficient and expressive visualizations.\n",
10771026
"\n",
10781027
"#### Easy data transformation\n",
@@ -1102,8 +1051,6 @@
11021051
"cell_type": "markdown",
11031052
"metadata": {},
11041053
"source": [
1105-
"![altair bar chart with transformation](https://codecut.ai/wp-content/uploads/2025/08/altair_transform.png)\n",
1106-
"\n",
11071054
"Altair's `transform_aggregate()` function enables you to aggregate data on the fly and use the results in your visualization.\n",
11081055
"\n",
11091056
"You can also specify the data type, such as nominal (categorical data without any order) or quantitative (measures of values), using the `:N` or `:Q` notation.\n",
@@ -1150,8 +1097,6 @@
11501097
"cell_type": "markdown",
11511098
"metadata": {},
11521099
"source": [
1153-
"![altair linked plots](https://codecut.ai/wp-content/uploads/2025/08/altair_brush.gif)\n",
1154-
"\n",
11551100
"As you select an interval within the scatter plot, the bar chart dynamically updates to reflect the filtered data. Altair's ability to link plots allows for highly interactive visualizations with on-the-fly calculations, without the need for a running Python server.\n",
11561101
"\n",
11571102
"### Cons\n",
@@ -1209,8 +1154,6 @@
12091154
"cell_type": "markdown",
12101155
"metadata": {},
12111156
"source": [
1212-
"![matplotlib circle plot](https://codecut.ai/wp-content/uploads/2025/08/matplotlib_circle.png)\n",
1213-
"\n",
12141157
"…can be achieved with better resolution and interactivity using Bokeh:"
12151158
]
12161159
},
@@ -1242,8 +1185,6 @@
12421185
"cell_type": "markdown",
12431186
"metadata": {},
12441187
"source": [
1245-
"![bokeh circle plot](https://codecut.ai/wp-content/uploads/2025/08/bokeh_circle.gif)\n",
1246-
"\n",
12471188
"#### Link between plots\n",
12481189
"\n",
12491190
"Bokeh makes it incredibly easy to establish links between plots. Changes applied to one plot can be automatically reflected in another plot with similar variables. This feature allows for exploring relationships between multiple plots.\n",
@@ -1290,8 +1231,6 @@
12901231
"source": [
12911232
"By utilizing `ColumnDataSource`, the data can be shared among plots. Thus, when a change is applied to one plot, the other plots automatically update accordingly.\n",
12921233
"\n",
1293-
"![bokeh linked plots](https://codecut.ai/wp-content/uploads/2025/08/bokeh_link.gif)\n",
1294-
"\n",
12951234
"#### Fine-grained control over web deployment\n",
12961235
"\n",
12971236
"Bokeh offers exceptional control over visualization deployment in web applications. You can embed plots in existing websites, create standalone HTML files, or build complete web applications with custom servers, providing seamless integration flexibility.\n",
@@ -1361,10 +1300,8 @@
13611300
"</body>\n",
13621301
"```\n",
13631302
"\n",
1364-
"\n",
13651303
"### Cons\n",
13661304
"\n",
1367-
"\n",
13681305
"#### Verbose code requirements\n",
13691306
"\n",
13701307
"While Bokeh offers powerful customization, it demands considerably more setup code to make even simple plots look professional compared to simpler alternatives like seaborn and Plotly.\n",
@@ -1401,8 +1338,6 @@
14011338
"cell_type": "markdown",
14021339
"metadata": {},
14031340
"source": [
1404-
"![bokeh bar plot](https://codecut.ai/wp-content/uploads/2025/08/bokeh_default.png)\n",
1405-
"\n",
14061341
"Thus, we need to manually adjust the dimensions to make the plot nicer:"
14071342
]
14081343
},

0 commit comments

Comments
 (0)