I have been trying to customize Superset as much as possible and have succeeded to some extent. What I want to do now is create a custom chart based on my requirements, I have combined two big numbers to look like this using CSS properties but it's interfering with a lot of other properties of the charts in a given dashboard.
This is nothing but a set of two "big number" chart combined together with custom CSS. What I want to achieve is a customized widget having some special design or formatting. In simpler words to achieve the same below but with some word in between like:
30% Budget is providing me 70% output. Has anyone tried any hack to do that?
as an update, recently Preset has released a tutorial of just how to do that. Basically with the new viz plugin architecture you can use any js library and do any customization you want, and integrate it to Superset. They also talked about the new architecture and did a live demo, the video is here.
Yes, you can create a custom chart in Superset.
You can follow some existing chart additions for example:
https://github.com/apache/incubator-superset/pull/3013
to see how a new chart is developed and integrated in superset.
Related
I'm trying to add a Gantt-Chart (Oracle JET) with hierarchical data to my Oracle Apex (19.1) Application just like the example in the Cookbook (Hierarchical Tasks) by using the built-in implementation in Apex.
In this example, a JSON-file containing the tasks, which can have children-elements called subTasks gets parsed and rendered. However, I'm getting my data from a local database.
Is this feature possible in the Apex-version of oracleJET? Or do I have to implement the Gantt-chart from OracleJET as if it was a 3rd-party-solution?
Because I am able to create a normal Gantt-chart without a hierarchy, however, I haven't quite figured out, how to implement one with a hierarchy.
According to the documentation of ArrayTreeDataProvider, the default-keyword for child-elements to be located in is 'children'. But it doesn't matter how I format my data (selecting it from the database with json_object() and json_arrayagg() ), it only renders the 'parent' elements.
Does anyone have already implemented this/a similar functionality into an Apex Application and can help me out?
Thanks a lot in advance!
When I have had trouble defining a JET chart within APEX, I have always found it helpful to install the Sample Charts app from the App Gallery. Oracle does provide some sample Gantt charts with and without a hierarchy on Page 3 (in my instance of APEX 19.2) of the sample application.
Without knowing how your data is structured, we cannot provide an exact solution to your issue, but if you review the setups in the sample application, it should help you out.
I need some clarification regarding the creation of Visualizations. I have a need to create 1 to N number of Visualizations. Is it possible to dynamically create visuals via code (or some other method) based on some sort of input (I have a need to produce a different number of charts dependant on which client I am viewing the chart from) or am I limited to dragging and dropping on Visualizations onto a report manually at design time?
Ideally I'd like to be able to run some sort of query and then create charts based off this result set. Is this possible?
If you're talking about custom visualizations...
Your best bet is probably to create a custom visualization that has all the options and features to adapt to varying input.
If you're talking about reports...
I don't think generating PowerBI reports with code is really (intended to be) easily done. I recommend trying either creating several different "smart" but hardcoded reports that adapt to the data, and choose between them dynamically, or switching to another technology to do this.
I have a django app and I would like to display some graphical data visualization to my users. I am looking for an easy-to-use package that would allow me to add graphs and widgets.
The kind of widget I want to build is a kind of speedometer dial that is red at one end and green at the other. As a user completes their job over the day, the graphic/widget adjusts itself. The dial moves from red to green.
I also want an S-curve graphic that shows the cumulative amount of work accomplished against planned. That is kind of an x/y line plot.
My question are: How easy is this to implement? Are there any add-ins libraries or packages that do this already? I am trying to keep my entire application open-source. I've seen a couple subscription services that do this type of thing, but I can't stomach the cost.
I don't mind using ajax or jquery to implement such a thing, but I would like the most elegant and maintainable solution.
Any advice or examples on how to tackle this project?
There are lots of good javascript libraries these days, but all require some effort to learn how to use. I have not found one that really is easy to use, I guess because everyone wants something different. My general experience has been the more effort you put into learning them, the more you get out.
Google has gauges: http://code.google.com/apis/chart/interactive/docs/gallery/gauge.html
Also
http://www.flotcharts.org/
http://philogb.github.com/jit/
http://www.highcharts.com/
http://www.jqplot.com/
Or really take control:
http://mbostock.github.com/protovis/
As first, see the following grid (https://www.djangopackages.com/grids/g/dashboard-applications/) on djangopackages.
Not sure if that's exactly what's asked for, but you might take a look at django-dash (https://pypi.python.org/pypi/django-dash).
It allows each user to make his own dashboard (from plugins available). Those dashboards can be made public.
Some screenshots (http://pythonhosted.org/django-dash/#screenshots).
It's modular and plugin based, so you need to make a plugin and widgets for every specific feature (in this particular case - the speedometer plugin and widgets for it). Each plugin/widget can include own JS/CSS when being rendered.
See the following chart usage examples:
D3.js integration examples (https://github.com/barseghyanartur/django-dash/tree/master/example/example/d3_samples).
Polychart2.js integration example (https://github.com/barseghyanartur/django-dash/blob/master/example/example/bar/).
protovis is no longer under active development, but they started a new poject: http://d3js.org/
You may choose from these packages:
https://www.djangopackages.com/search/?q=dash
I am trying to make a few interactive graph visualisations in my Django web application using Python. I found Graphviz and was able to output a static graph (as a .png image) on my application using Pydot (Python interface to Graphviz's dot language).
However, I am looking to make my graphs more interactive, like being able to highlight nodes when passing my mouse over it, making the nodes click-able, dragging the nodes to a different location and zooming on the graph.
Is there a way I could do this in Graphviz? Or in general is there way to make an interactive graph for my Django application without having to use Flash? I don't want to use flash since I'm not that familiar with it and also since I want to visualise a fairly large dataset.
Try The Javascript Infovis Toolkit. It is all implemented in a browser canvas, so no Flash is needed, only a decent browser with support for the <canvas> tag. Graph visualization examples are here, here and here, other demos are here.
There is Canviz (source). However, nodes are not yet clickable (they were in an older version that used image maps. The code base has changed and now the rendering is happenning client side using javascript, which is why clickable links is not yet re enabled.
This is the best I found, however they are plenty of others.
mxGraph (Not free)
You can use D3.js for graph visualization (see here for examples of graph visualizations in D3js, and look at How to Make an Interactive Network Visualization).
For back-end (if it is necessary to have something more than just a json file to represent the graph - i.e. if it is large), then you can use a Python module for graphs, NetworkX.
Side note, here is my simple interactive graph visualization example:
You can do something like this very simply just with DOT and HTML.
Generate client-side maps and overlay them over your PNG images. (Insert the map code into the HTML page.)
dot test.dot -Tpng -o test.png -Tcmapx -o test.map
SVG exports are directly clickable.
It seems like an approach that fits what you are trying to do might be to use svg in the browser an/or javascript. I think most of the modern browsers support SVG and would allow you to do some pretty cool interactive graphs. The server could provide a json feed of the datapoints needed to render the graph. I don't know off hand the tools that are available, but I've seen some pretty cool graph demos constructed without flash through client-side approaches.
As an alternative, you could pre-render a bunch of graph images that the user would likely view and then just fetch those as the user interacts with the graph. This might work if the graphs don't change that frequently and if the number of alterations that the user would make is small, but you'd have to re-render every time the graph changes.
I've did what you are trying to do not too long ago. The context was visualizing a gnarly SalesForce schema.
First thing, graphviz is only good for plotting, not really for drawing. You can generate SVG, but I could not get it to work with I.E. after a considerable of (what turned out to be fruitless) effort.
I DID find this Java Applet ZGRViewer to suffice, and while applets feel a bit dated for my taste, it worked very well cross browser.
I basically hand coded a process invoking service that generated the dot files and ran them thought (dotty, is think?) - the visulazation applet reads the native dot file format.
I also came accross something that I thought about for a V2 (which never happened) - it is part of the AJAX control toolkit - Seadragon.
If you want to see the code in ASP.NET, I can post it.
I'm building an application in django and I'd like to have a reports section. The charts will be used to disply numerical values between different dates.
I tried GoogleChartWrapper but I'm looking something more flexible and nicer.
Thanks.
Not really a django question - just use a javascript plotting package and stick it in your django app in the usual way (.js goes into your media files, javascript includes go into your templates for headers etc). Then write django templates that dump your data into whatever the plot package needs - probably javascript.
I've used flot for this, but for something really shiny there's protovis which is something I might use next time!
If you want something powerful I suggest to take a look at matplotlib. This may be also useful: matplotlib and Django.
you could also try chartit (it uses highcharts).
https://pypi.python.org/pypi/django_chartit
Another option is to design a chart with e.g. http://dexautomation.com/googlechartgenerator.php and then maintain it and fill with real data using http://pypi.python.org/pypi/django-chart-tools