I know similar questions have been asked already but I was wondering what is the most efficient way to dynamically plot in Python? I've read about using gnu, matplotlib, etc. but I'm tasked with putting out 6 plots that are all dynamically updating at the same time so I'm looking for efficiency (granted there will be a dedicated machine for the graphing operations).
I've found Graphite to be among the most efficient realtime graphing packages available for python.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
I'm a newbie to the data world. Any help at a high level for the above would be greatly appreciated.
Thanks
You can make multiple differences. On the first level: What is the difference between Python, R and Tableau? These are basically all three entirely different tools.
Python is an open-source general purpose programming language. In other words, Python is suitable for a lot of tasks. You can program desktop applications, websites/servers but is also heavily represented in datascience, computational/natural sciences,...
R on the other hand is also considered a programming language, but specifically for datascience and statistics. This means that, out-of-the-box, R will have a lot of statistical tools and functionality whereas Python requires some third-party installation.
Tableau is not a programming language, but rather a visualisation software package. You can make so-called dashboards with it, that is aimed to summarizing your complex data to human-interpretable information. The main advantage is that programming knowledge is not really necessary.
Now pandas is a third-party, open-source python library for data science and is most known for introducing dataframes. Dataframes are popular because they are an intuitive way to work with your data. You can read and write multiple file formats as well as perform operations on your data frames, calculate some statistics, make visualizations,... Note that R does not need a similar library since dataframes are already included in the standard R package.
ggplot2 is an open-source R library that is specifically aimed at plotting data. The equivalent library in Python would be matplotlib, which pandas uses as well to generate its plots.
Which tool is best for you depends on what you would like to do. If you aren't interested in learning how to program, go for Tableau. If you do want to learn how to code, you could go with Python and/or R. If you are only interested in statistics and datascience, you can go with R. However, if you are interested in other parts as well, such as machine learning, web development, ... you're better of with Python.
ggplot2 is a full-featured R library for making publication-quality statistical graphics. It has a very expressive style that makes it useful for exploratory analysis as well as final graphics for publication.
Pandas is a python library that brings the R "data frame" to python. It is not a plotting library but it interfaces with the matplotlib library to make publication quality graphics.
Tableau is a standalone application for building dashboards and interactive graphics that are linked to databases. It has a mostly graphical interface with less coding than R/Python. The dashboards made in Tableau can also be done in R/Python, but by involving other libraries as well.
I'm working on a finite differences code to solve 2D problems. I want to be able to solve complex geometries written as STEP or IGES files. However I don't know how to read and mesh this kind of files.
While I know that there are free and independent meshing applications, I want my code to be self-contained. Is there a way to achieve this on python?
You might be interested in GMSH API. GMSH is well-known for a while as a free open-source mesher, and recently (by relative means), they introduced an API for C,C++, Python, and Julia.
At first, a simple usage of Top level functions GMSH::open and Mesh function GMSH::generate(2) can get you started.
I'm currently going through some time series analysis, and I'd like to easily implement interactive zoom and range selection.
I know dygraphs offers such features, and I'd like to know if there is a similar Library for Python?
Thanks
Is there any python library with functions to perform fixed or random effects meta-analysis?
I have search through google, pypi and other sources but it seems that the most popular python stats libraries lack this functionality.
It would be great if it also provide graphical solutions to produce funnel plots and forest plots.
Forest plot example:
It thought of something similar to R package rmeta
I've found some people creating their own functions manually, but it isn't a actual library. In addition, metasoft was promising, but it uses python only to convert between formats.
Just to say, it seems the mostly widely used tool is R's metafor, which provides seemingly every possible method used and includes essential plotting functions.
In Python, PythonMeta the backend for a web-based tool PyMeta which offers many of the methods (fixed and random effects, various data types) found in metafor.
This PyMARE project is still under development but does provide various fixed and random effects meta-analysis estimators (this is a spin-off from the rather more mature NiMARE tool for neuroimaging meta-analysis).
statsmodels now also offers some options for meta-analysis and visualization of its results, more information here:
https://www.statsmodels.org/devel/examples/notebooks/generated/metaanalysis1.html
what function should i use to draw the above performance profile of different algorithms, the running time data is from python implementation, stored in lists for different algorithm. Is there any build-in function in Python or Matlab to draw this kind of figure automatically? Thanks
You will have to store the performance of your algorithms in a list (if you are using Python) or in a matrix (Matlab) and then plot the results.
Matlab comes with several plot functions such as figure(), plot(), subplot() that you will need to draw those figures.
In Python you can use the third-party package Matplotlib. By the way, Matplotlib gives you a MatLab like environment called PyLab that tries to emulate Matlab commands.
You can make something like that in Python with Matplotlib using step and plot.
In Matlab you can use plot and stairs.
A Python function that draws these profiles which can be found, with instructions, here. After importing this function and generating a Pandas DataFrame object using your data (see instructions), the generation of the performance profile is easy.
A MATLAB script that draws performance profiles can be found here.
I make simple performance charts, like those posed in the question, via Python scripts that rely on a Python module named leather. For example, within the following gist.github.com repository:
https://gist.github.com/lhuemill/f1273291e5f5e85e4b42e5c7614e60ef
is a Python script, named permutations2x2_chart_results, which does this. By default, this script produces a chart using the SVG format. A format that is directly supported by most of the popular web browsers and that are a vector versus bitmap graphic. Vector graphics tend to be a good choice for these types of performance graphs, in that the user can zoom into any portion of the results, to obtain more detail, without pixelation.