Is it possible to draw violin plots in Qt/Qwt? - qt

I am trying to implement violin plots using Qt. I have checked the internet for resources about the matter but so far I have only found examples that have been implemented using R and Python. Does Qt -or maybe Qwt for that matter- possess the relevant tools to implement these, or should I switch my platform? Thanks.

Qt has a suite of various drawing tools, as violin plots are no different to any other diagram, you should easily be able to draw them yourself using QPainter.
Just to be clear, I'm talking about drawing violin plots, you will of course have to implement the math and data structures for them yourself.

Related

Interactive plots of simplicial complexes

I'm attempting to create interactive plots of simplicial complexes Simplicial Complex
using the python library plotly. So far, I've only managed to create interactive plots of the underlying graph(the vertices and the edges). This I learned from this: 3d network interactive graphs However, when the complex has triangles(let's stick to 2-dimensional complexes), I wish to plot those triangles too. I'm not able to find anything regarding this on the internet. Can anyone point me to a source on how to achieve this?

I need a special type of charts and don't know which chart plotting program support it

I would need create a chart like the one on the picture. I don't want to draw it by hand, since I need more of them. I prefer R CRAN for drawing charts, but would do also any other programming or plotting program. If possible pdf or eps outputs are preferable. Does anybody have an idea, what type of chart, or which R (or other SW) package would support something like that?
I have found the solution. Orange software package makes the charts.
https://docs.orange.biolab.si/3/data-mining-library/reference/evaluation.cd.html

Selecting a graphing library in Julia for speed and customizability

I found a vast number of libraries for plotting in Julia that includes the following:
Winston: 2D plotting for julia looks like it requires Cairo and Color. Examples look like it supports line plots, histograms, scatterplot, and regression.
Gadfly: Looks to support Dataframes and uses the Color library. Graphs has a fairly clean look to them. Supports boxplot, line plots, bar plots, histograms, scatter plots, regression, densities, and contours. Runs on vector graphics library Compose.jl
Pyplot: A wrapper for Matplotlib in python
Gaston: Basically a wrapper for GNUplot
Which graphing library is preferred for speed? Are one of the plots using a wrapper faster than the julia based ones?
I use Matplotlib so I am aware it is not the fastest, but has a lots of features. It seems like Gadfly would be the prefer julia based plotting library due to its ability to plot different graphs, is it customizable as matplotlib in terms of being able to control line thickness, point shapes, create dotted lines?
Speed is a tough question to answer because it depends strongly on exactly what you are plotting, and what you are plotting to. There is not a fastest overall.
Gadfly has the best interface, I think, because it is in Julia and is written for Julia. Compose is also very powerful in its own right (see, e.g. graph plotting).
For publication-quality plots though, I feel you still need to use PyPlot/matplotlib. It has more control over how the plot appears - e.g. right now Gadfly doesn't support different dashed lines. I find myself using Gadfly where possible, and using PyPlot for more "final" graphics for black-and-white publication purposes.

How to draw a directed graph with labels on edges using quickgraph and graph# libraries?

I'm trying to draw a directed graph with labels on edges. I'm using graph# (graphsharp) and quickgraph, and I saw an explanation in the forums about how to add labels (it is not supported by the library), but cannot manage to implement myself. If someone could provide a working example using these two libraries I would be very thankful.
Update:
I'm now looking for something a little more complicated: My edges behave like nodes, they have connections to other nodes and have a name-tag. So they are like any other node, and when I draw the graph these edge-nodes must appear exactly in the middle of a certain connections. Any ideas?
Although it's not documented, QuickGraph supports output to other formats, like DGML. VS 2010 includes a very basic DGML viewer. It may be possible to output DGML so that the resulting graph has edge labels. However you will likely need to add support yourself.
Download the QuickGraph sources and play around with it. I'm a committer on the project, so if you figure it out let me know and we'll get your changes into the project.

Visualizing a DAG

I have a large directed acyclic graph that I would like to visualize in a bitmap image.
Ideally I'd like to have all the root nodes at the top of the image, and all of the leaf nodes at the bottom, i.e. the graph edges are all pointing in a downwards direction.
Is there a good algorithm for working out the coordinates of all the nodes that meets these constraints and will produce a good visualization?
I advise you to use Gephi.
This soft is able to do all the things you want to, especially graph layouts !
Look at the Graphviz software collection. It contains several programs to render graphs.
The most simple way is to write your graph to disk, in one of Graphviz's text formats. Then execute one of the render programs, and load the resulting image into your application.
Bayesian Networks have similar requirements. You might look for algorithms for Bayesian Networks. This paper for example might be helpful.
If the graph is fairly simply then bitmaps will serve you fairly well. For very dense graphs however you'll want something with vector graphics, such as a SVG file that will support zooming in and out of fine details in a more friendly manner. Better yet is to use an interactive tool dedicated to navigating a graph such as gephi like someone mentioned above or yED
If you're trying to visualize a software dependency graph the best tool I've found for navigating is the DGML tools that are part of Visual Studio. They use a very powerful Sugiyama tree layout that does a fine job of making the flow of the graph directional. They have powerful interactive features with these edge hopping links that are bar none. You can also organize subgraphs and collapse them down, etc.
There's several graph description languages covered in Wikipedia with checking out
https://en.wikipedia.org/wiki/Category:Graph_description_languages. If you have a good chunk of RAM the DGML tools can render very pleasantly and make the interaction and exploration of the graph very intuitive.
There's a decent overview of layout techniques to be seen here particularly #2 Layered Graph Drawing from Kozo Sugiyama.
You might be interested in layered graph drawing (also known as "hierarchical graph drawing" or "Sugiyama-style graph drawing"). The algorithm is too long to describe here, but Google searches bring up many reliable explanations.
You can try this Go package I wrote: https://github.com/h8liu/e8tools/tree/master/dagvis
An example: http://lonnie.io/gostd/dagvis/

Resources