Table of Contents

Introduction

Charles Joseph Minard’s historical map of the Napoleon Russian Campaign, is considered one of the most famous graphics for its powerful storytelling narrative. It illustrates the march of Napoleon’s troops through freezing temperatures, highlighting the losses that occurred during the movement. The graphic displays multiple sets of data including; geography (cities and rivers), the troops path and direction, the number of survivors, temperature readings as well as their corresponding dates. My goal in this assignment is to redesign Minard’s Russian Campaign graphic using modern contemporary methods to improve the storytelling aspect while focusing on the human element behind the data.

Visualization Storytelling Methods

Iteration 1: Hand-Drawn Sketch

For my first iteration, shown in figure 2, I hand-drew a sketch of Minard’s graphic on a piece ofpaper, to demonstrate my understanding of its main idea as well as the key elements involved.By hand drawing the map, I was able to analyze how the different sets of data (including geography, troop numbers, direction and temperature) involved are layered as well as better understand the flow of the troops’ path in regards to line width and city positions.

Iteration 2: Interactive Line Graph Visualization

For my second iteration, I redesigned Minard’s graphic using python to create a line graph with the purpose of improving clarity and understanding. This redesign includes the main datasets; number of advance and retreat survivors, temperature (℃) variation, longitude as well as the respective dates representing the campaign’s timeline of events. It can be observed in the graph that the advancing group is represented with a blue color (progress) and the retreating group with
a red color (loss), while the drop in temperature is shown with a dashed grey line. To enhance and incorporate user interaction, I have used hover features that display detailed information such as longitude, temperature, date, city and the number of survivors. The hover colors arerespective to the colors of the lines but slightly transparent to ensure visibility and readability.

Although the redesign seems technical, the data points present represent lives and experiences of the troops. The use of different colors help demonstrate the emotional aspect of the visualization, such that the audience is able to interact directly with the statistical data and connect it to distinct points in time.

Iteration 3: Geographic Visualization Of The Journey

For my third iteration, I have decided to redesign the graphic using the “scattergeo” feature in python to visually represent Napoleon’s troop across the multiple cities, enhancing the storytelling narrative. The cities are marked with a dot, while the troop’s path is represented using different colors; orange for the advancing group and grey for the retreating ones. It can be seen that the width of the lines represent the number of survivors such that it decreases as the number of survivors decline. Moreover, the temperature scale is added to reflect the conditions the army experienced during the campaign.

By using a geographic map, a temperature scale as well as hover features, the audience is able to sympathize with the army as well as walk the route alongside them, understanding the hardships and challenges. In addition, it enables the audience to not only view the data but also feel the human struggle behind it.

Conclusion

In conclusion, redesigning a historic graphic using interactive contemporary methods, allowed me to better understand both the meaning as well as the presence of the human element behind Minard’s graphic. From a hand-drawn sketch to a line graph to a geographic map, I was hopefully able to create a more interactive and easy to follow graphic.

References

  • The minard map – “The best statistical graphic ever drawn.” Big Think. (2022, April 19). https://bigthink.com/strange-maps/229-vital-statistics-of-a-deadly-campaign-the-minard-map/
  • Plotly.subplots.make_subplots. plotly.subplots.make_subplots – 6.3.0 documentation. (n.d.). https://plotly.com/python-api-reference/generated/plotly.subplots.make_subplots.html
  • pandas.DataFrame.replace. pandas.DataFrame.replace – pandas 2.3.3 documentation. (n.d.). https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.replace.html
  • spidermarn, Dishin Goyani, & Code Ninja 2C4U. (2020, August 15). Python how to create a new column that measures proximity to a city? Stack Overflow. https://stackoverflow.com/questions/63428573/python-how-to-create-a-new-column-that-measures-proximity-to-a-city
  • Bobbitt, Z. (2022, October 19). How to find closest value in pandas dataframe (with example). Statology.https://www.statology.org/pandas-find-closest-value/?utm_source=chatgpt.com
  • Plotly Technologies Inc. (2025). Multiple axes in Python.  https://plotly.com/python/multiple-axes/?utm_source=chatgpt.com
  •  Stack Overflow. (n.d.). Plotly: Including additional data in hovertemplate. Stack Overflow https://stackoverflow.com/questions/
  • Plotly Community Forum. (n.d.). Using if / else in a hover_data dictionary. Plotly Community Forum https://community.plotly.com/
  • Plotly Technologies Inc. (2025). Multiple axes in Python. Plotly. https://plotly.com/python/multiple-axes/?utm_source=chatgpt.com
  •  Plotly Technologies Inc. (2025). Layout.xaxis in Python. Plotly.  https://plotly.com/python/reference/layout/xaxis/
  • Plotly Technologies Inc. (2025). Layout in Python. Plotly https://plotly.com/python/layout/
  • Plotly Technologies Inc. (2025). Scatter traces in Python. Plotly. https://plotly.com/python/line-and-scatter/
  • Plotly Technologies Inc. (2025). plotly.graph_objects.Figure — Version 6.3.0 documentation. Plotly. https://plotly.com/python-api-reference/generated/plotly.graph_objects.Figure/
  •  Plotly Technologies Inc. (2025). plotly.graph_objects.scattergeo package — Version 6.3.0 documentation. Plotly. https://plotly.com/python-api-reference/generated/plotly.graph_objects.scattergeo/
  •  Plotly Technologies Inc. (2025). Layout.geo in Python. Plotly.https://plotly.com/python/reference/layout/geo/  
  • Plotly Technologies Inc. (2025). Text and annotations in Python. Plotly.https://plotly.com/python/text-and-annotations/
  •  Plotly Technologies Inc. (2025). Hover text and formatting in Python. Plotly. https://plotly.com/python/hover-text-and-formatting/
  • Python Software Foundation. (2024). 2. Lexical analysis — Python 3.14.0 documentation.Python.orghttps://docs.python.org/3/reference/lexical_analysis.html