# Tag Info

22

If your only worry is file size, then you want binary files. For an illustrative example, lets assume you are writing 1 double precision floating point number to a file. Let's assume that the file system can handle this perfectly and holding the file, headers, and padding are all 0. For a binary file, that number would take the exact size of the number in ...

16

In practice, you rarely need data in visualization files that's more accurate than, say, 3 valid digits. In that case, ASCII is -- maybe surprisingly -- often more compact than binary form. If you're thinking about archiving, then bzip-ing these ASCII files is likely going to yield the smallest files you can get. That said, Paraview reads VTU format which ...

16

The easiest way I could find to subtract two fields from different VTK files with the same structured grid is to use a programmable filter in Paraview, which lets you manipulate data using Python scripts. In the programmable filter dialogue box, you can subtract the two arrays and write to output with the code: phi_0 = inputs[0].CellData['Phi'] phi_1 ...

13

Knowing how other CAS do this might help you. To my knowledge, Mathematica uses a variation on the following basic algorithm for plotting a one-variable function $f(x)$ or a parametric curve $(x(t), y(t))$ (I'm going to assume $f(x)$ for this description). Start with a regularly spaced grid of points on the plotting domain. （In Mathematica, there's a ...

13

Graphviz should work. I believe that the images associated with the matrices in the University of Florida sparse matrix collection were visualized using sfdp, a force-directed graph visualization algorithm developed by Yifan Hu. Most of the matrices in the collection have a computational time associated with generating a corresponding visualization, so you ...

11

I have implemented Mathematica's adaptive sampling routine here on GitHub (It's a single C file, go up to the source tree for the header file). I found a description of the routine in a big book on Mathematica a long time ago, and I've been using variations on this implementation for some time now. It basically does a rough linear sample over the domain of ...

10

Here I have an example: x = linspace(-5,5,100); y = linspace(-5,5,100); z = linspace(-5,5,100); [X, Y, Z] = meshgrid(x, y, z); Ex = sin(2*pi/5*Z); Ey = 0*X; Ez = 0*X; [Bx, By, Bz, V] = curl(X, Y, Z, Ex, Ey, Ez); Eplot = 0*x; Bplot = 0*x; for i=1:100 %% Integration-like procedure Eplot(i) = mean(mean(Ex(:,:,i),1),2); Bplot(i) = mean(mean(By(:,:,...

9

Absolutely. You should check out VisIt, Paraview, Tecplot, Ensight, and similar tools.

9

Your goal has a lot of challenges. I'll break them down into parts. SMILES is not a trivial language to parse, and the rules for aromaticity perception are not well defined. The detailed grammar definition from the OpenSMILES project should help some. SMILES defines the topology, but does not give 2D or 3D information. Making either is hard. (That is, if ...

9

I think the speed and simplicity of visualizing data is largely dependent on how fluent you are with visualization tools and preprocessing tools. I'm a big advocate of scripting for this purpose, because you can figure out how to do a task once and then copy and repurpose the script on similar tasks, which saves you time. For visualization, it really ...

9

I doubt there is a standard tool/technique for this kind of task. Nevertheless, there are some approaches. You would need at least one of the following strategies, according to ref. 1 (ch. 8): dimension subsetting: selecting some of the dimensions to display. dimension reduction: transforming the data into a lower-dimensional dataset. dimension embedding: ...

8

The MathWorld web page on Function Graphs contains references to several papers which seem to be relevant on adaptative function plotting. Quoting the page: Good routines for plotting graphs use adaptive algorithms which plot more points in regions where the function varies most rapidly (Wagon 1991, Math Works 1992, Heck 1993, Wickham-Jones 1994). Tupper (...

8

Some of the algorithms are available from the source code for the different packages. PyMol is one such, and VMD's source is also accessible. I implemented VMD's ribbon algorithm in the 1990s. The first step is the structure determination - where are the amino acids? which are connected into a chain? where are the C-alpha atoms? Next, as Kyle said, is the ...

8

I would suggest that a full database may be overkill for your purposes, though it would certainly work. Even $5 \cdot 10^5$ rows should be no more than around 25mb of data. I would strongly recommend doing the analysis/plotting/etc with the same tool that you will use for querying your data. It is my experience that when changing what to analyse only takes ...

8

You can try Geogebra (it is free). With SolveODE command and sliders you can do what yo want. For the usage of SolveODE command see. For example by using following command SolveODE[ <f'(x, y)>, <Start x>, <Start y>, <End x>, <Step> ] with SolveODE[A + B y + C sin(y), l, m, 10, 0.1] I got the solution curve below. You can vary ...

7

The JavaScript InfoVis Toolkit has a neat interactive interface for annotated local views of graphs. These demos may be relevant to you: Debian package dependencies (note: this is an archived page without scripts) Band tree (here is another local explorable version)

7

Have you had a look at VMD? I used it ages ago to produce movies from simulation snapshots. Way back then, it could read a sequence of PDB files, render them (or generate POV-Ray scripts to raytrace them), and store them as individual images. I then used mencoder to generate MPEG-4 files out of the stills. Those were the days. I haven't used VMD since, but ...

7

I think you could use the "marching cubes" algorithm. If memory serves, it requires a grid of samples as input, so at the very least you should be able to sample your function and run the algorithm as-is. You also might be able to modify the algorithm to callback to f directly. There's a popular implementation at http://paulbourke.net/geometry/polygonise/ ...

6

deal.II uses option (2) for a long time already with very good success. In other words, in 2d, every vertex appears 4 times in the output file which means there is more data to be written but fields can be discontinuous. The only other drawback I am aware of is that some visualization programs can't follow interfaces between cells that don't share vertices ...

6

Histograms are not useful for high dimensional data. The curse of dimensionality affects one quite fast. As in your case if the grid is of size 7**6, you have on average one point in one bin. Kernel density estimator are better suited as long as you keep the kernel bandwidth large enough. In my experience the top hat kernel as k-nearest neighbor yields ...

6

Gnuplot does a good job here. You might also try this command line interface to Matplotlib. The interface of the latter resembles that of GNU plotutils, which gives you a third alternative.

6

[I took your sample program as a starting point and adapted Colormap Normalization from the matplotlib wiki.] Almost everything of the picture just looks red. Indeed. They problem is that there is a very narrow divergence in your data and because the colormap is scaled linearly almost all of the plot will be mapped to the lower limit of the colorbar. Q ...

6

Problem Formulation I can't guarantee that this is a perfect (or smallest-possible) formulation of the problem, but maybe it will help guide a better one. The road network is a directed graph consisting of intersections (nodes) connected by roads (edges). As input information, assume that you have an adjacency matrix $\mathcal{A}$ enumerating the edges. \$\...

5

See Graphinsight 1.2, can handle with million of nodes easily and it's interactive and in 3D. You can also layout graphs with million of nodes and edges with high efficient algebraic methods or force directed methods. It's available in trial version for evaluation (Disclaimer: I am one of the authors of the program). www.graphinsight.com

5

Here are some recommendations and links collected over time: For 2M nodes it is hard to recommend anything not knowing your hardware, and possibly some data reduction is in order, but taking stuff that is freely available, zGrViewer may fit your needs for visualization (requires GraphViz). Following @pyCthon 's idea, suggest you also have a look at VisIt ...

5

Sometimes you can get an alternative view on performance problems via a high-level resource analysis: Is there a relevant bottleneck such as memory bandwidth? Does every worker thread do the same amount of work? This data might be collected easily with likwid-perfctr from the LIKWID tool suite LIKWID Google code project. If the profile is such that many ...

5

It's pretty hard to do what you want to do. The method that comes to mind for me is to first calculate a "'blue noise" point distribution on your mesh, then take the bin cells to be the Voronoi regions of those points. Here is a paper that talks about computing such point sets. An easier approach is to simply choose the barycenter of each triangle (average ...

5

I highly recommend using a tool such as Sumatra for this. I used to have a similar "pedestrian" approach to yours for keeping track of many simulation runs with varying parameters, but in the end it just becomes a huge mess because it's next to impossible to design such an ad-hoc approach correctly upfront and to anticipate all the use cases and extensions ...

5

The selection of colormap should be based on your dataset and audience, e.g., you do not want to use a colormap that have some cultural background for a group of people. Also, if your images are going to be printed (in grey scale), you should consider using a colormap that will preserve the ordering after the color transformation. Then, you should take into ...

5

The program VisIt can do plots of tensor ellipsoids, but I don't think it has anything for hyperstreamlines. While it does make nice plots, I've found VisIt hard to install, if not impossible on some platforms; I know people who have been desperate enough to set up a virtual machine for it, but I haven't done that myself. When it does work, I have found it ...

Only top voted, non community-wiki answers of a minimum length are eligible