If you're keen on using straightforward Python coding for a smaller project but are confused by the various Integrated Development Environments (IDEs) and packages, check out Jupyter. It's a web-based IDE that lets you blend Python code with images, tables, and even text, all in one document. In simpler terms, think of Jupyter as an interactive online notebook for writing and executing code directly in your browser. It also allows you to add explanations, visual aids, and tables, making it ideal for things like data evaluation and research.

In simple words:

Jupyter is like a digital notebook where you can write and run pieces of code (Python, and other languages) right inside your web browser. You can also include explanations, images, equations, and charts alongside your code to create interactive and informative documents. This makes it great for tasks like data analysis, research, coding tutorials, and experimenting with code in a more dynamic and visual way.

Sonds like a great tool for creating reports and calculation documentation right?

If you're not ready for the hassle of installation, you can run Jupyter projects from the cloud. Suppliers such as Google and JetBrains provide easy-to-use IDEs without any setup required. They also come with examples that make it easy to get started. Give it a try!

Google Colab

Datalore

5.png

6.png

Below you can fine example of Python code that creates image above:

# plot several timesteps on top of each other.
from matplotlib import cm
from matplotlib.colors import ListedColormap#, LinearSegmentedColormap

colors = cm.get_cmap('plasma_r', len(inter_x)).colors # need to make this length dynamic

#plot substeps of iterations
%matplotlib inline
fig = plt.figure(figsize = (10,10))
ax = plt.axes(projection='3d')

for i in range(0, len(inter_x)):
  xi = inter_x[i]
  yi = inter_y[i]
  zi = inter_z[i]
  pts_i, lines_i = update_lines_and_points(xi, yi, zi, original_points, all_lines)
  for line in lines_i:
    plot_line3d(line, col = colors[i], alpha = 0.21)

# setting title and labels
ax.set_title("3D plot")
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_zlabel('z-axis')
  
# displaying the plot
plt.show()
plt.clf()

Jupyter notebooks can be easily shared, allowing team members to replicate results, provide feedback, or extend the analysis. In addition, it allows to create of templates for standard reports or documentation. This ensures consistency across projects and allows for faster report generation.