I am working in a project where 3D visualizations are important to see what is happening during the setup stage and perhaps for visual validation by making a short videos of what is happening.
The problem that I have is that 3D visualizations in Python are too sophisticated, and complicated to learn for what I need. I find that Mathematica is the perfect kind of software...but it is not portable and is very expensive.
Question
Is there any Python package similar to Mathematica?
Clarification
I don't want a "plotting" program, since plotting is not what I am looking for. I want to generate simple geometric shapes like spheres and cubes that can move around, this is more than enough. Give some coordinates, perhaps a rotation, and the program just shows the desired image(s) to export as a .png or make a quick video; as in Mathematica.
Packages like Pygame, Panda3D, Pyglet, etc., look too complicated and an overkill for what I need, as well as software like Blender, etc. Jupyter notebooks are similar, but they don't have the 3D graphics capabilities. I found a Python module named Fresnel, but it looks too sophisticated for what I need.
I have read several answers to this question here in Stack Overflow, but they seem outdated and not really what I am looking for.
Further Clarification
To draw spheres in Mathematica you do:
coordinates = Flatten[Table[Table[Table[ {i,j,k}, {k,1,10}], {j,1,10}], {i,1,10}],1]
spheres= Flatten[Table[Graphics3D[{Sphere[coordinates[[i]],0.5]}],{i,1,Length[coordinates]}]]
Show[{spheres}]
This is a simple quick and easy way of displaying a group of spheres. To use any program in Python to do the same, it seems like you must be an expert in 3D graphics to do this simple thing.
Programs that have capabilities of using Python scripts, like Blender, make it difficult to use the interface in a straight forward way (try doing the same in Blender, it will take a while just to learn the basics!).
I know several other user-friendly plotting libraries than matplotlib, but not a lot provide an interactive view. There is of course the well known vtk but it's not for end-user
plotly
For usage in a notebook, like jupyter and mathematica, you probably would go for plotly It's using a browser-based interface with plots very similar to mathematica
pymadcad
If you need a more offline version and what you are looking for is some view you can rotate/zoom/pan to look on your geometry by different sides, you can take a look at pymadcad
It even works with touchscreens.
It is not centered on 3D visualization, so it's a bit overkill to use it only for it, but for 3D curves, 3D surfaces, spheres and cubes as you said, it can do the job
simple plots with pymadcad:
from madcad import *
from madcad.rendering import Displayable
from madcad.displays import GridDisplay
# create a wire from custom points
s = 100
mycurve = Wire([ vec3(sin(t/s), cos(t/s), 0.1*t/s)
for t in range(int(s*6*pi)) ])
# create a sphere
mysphere = uvsphere(vec3(0), 0.5)
# display in a separated window
show([
mycurve, # displaying the curve
mysphere, # displaying the sphere
Displayable(GridDisplay, vec3(0)), # this is to have a 2D grid centered on origin
])
result:
(The window is dark because so is my system theme, but likely it will adapt to yours)
I have this density heatmap generated using Python Plotly package:
Now I need to add wind vectors over the heatmap. I would like to use quiver plots if possible, but currently I want to know how to add any kind of plot to a mapbox.
I have only found this example but the source code in the Plotly Chart Studio doesn't load so I don't know how to do it, also I need it in 2D:
I am not 100% sure if it is helpful but there is a software called QGIS (it's free). It is much easier to work with geospatial data there. Also, try rasterio library. It may have some functions like that (library for geospatial analyze)
I once used the velocity capability of ipyleaflet https://ipyleaflet.readthedocs.io/en/latest/api_reference/velocity.html
It is not using plotly but could be a good replacement for this kind of map until you find a better solution.
I am a complete newby in python and data processing. So many apologies in advance, if my question will seem to you evident or stupid.
I need to treat the graphical data like this:
The goal is to measure the surface of the parts, like drawn here:
and to measure the heights of the parts like this:
Right now I have downloaded pandas, numpy and matplotlib libraries to work with graphics. Could someone tell me if I need some additional libraries to perform such an analysis?
And the main question: Does somebody know the ways to perform the treatment of the graphs, like described above? Is it feasible in python?
Thank you in advance and have a nice day!
I am a graduate student with only limited knowledge of the Python programming language. I am currently working on creating a streaming visualization of EEG data. I am able to generate the individual topographical figures using matplotlib, but cannot find a way of dynamically updating a single plot in the output at specific intervals.
Is there some way of taking a list of Figure objects and dynamically displaying each one in turn after some interval in python 2.7? Perhaps using a Graphics object similar to the ones found in Java's Swing? Or would it be better simply to save my plots as images and use JavaScript to display them as desired?
Thank you in advance for any help or suggestions you may offer.
If you want to make an animation with Python, then there are plenty of ways. For example:
https://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/
http://matplotlib.org/examples/animation/double_pendulum_animated.html
http://matplotlib.org/examples/animation/dynamic_image2.html
I have got graph which need to analyzed and report an Error.As of Now I had a data in Excel data.So I have used xlsxwriter to Create graph.But I need to analyze graph.
1.Solid red line was created using xlsxwriter using excel data and was very easy to implement.
In later Enhancement,
2.In Ideal condition,The formula provided to us, we will have dotted red line. So we need to determine difference and report an error.
So First approach was, write a data in Excel sheet using formula and compare data into Excel sheet and report an error.
But we also need to represent into graph also and we will have upcoming task also in which we require graph (basically 2D and line graph) I have googled and found matplotlib which generally use for create graph. So I have very basic question,
Can anyone suggest me library which can be used for this scenario. it will be great if I have input any standard graph library(cover Line grpah) So I can put effort to familiarize with them. it will save lot of effort of us. we generally create graph for circuit analysis.
Language : Python
Environment : Linux
Library : Should be open source
I know, it is very open ended question.But I thought Let have a opinion who has used graph in Python
or is it possible to create below like diagram using matplotlib