kanaries / graphic-walker Goto Github PK
View Code? Open in Web Editor NEWAn open source alternative to Tableau. Embeddable visual analytic
Home Page: https://docs.kanaries.net/graphic-walker
License: Apache License 2.0
An open source alternative to Tableau. Embeddable visual analytic
Home Page: https://docs.kanaries.net/graphic-walker
License: Apache License 2.0
Hi,
graphic-walker features many marks but not text.
I find text mark critical for some key visuals, starting with the 'grid of formulae' "picture" here:
https://observablehq.com/@declann/some-cashflows
Would there be a difficulty supporting a text mark?
+Creating a separate issue for facets.
Thanks for the epic tool and really epic interface !
Very excited to discover this.
Regards,
Declan
Hi
I want to use this library in an angular application. But I am unable to find any helpful implementation. I am also trying to use react component in angular but am still unable to use it properly, it gives errors for the library
Does anyone have any idea regarding this how can i implement this library in an angular application and start using this for different feature development purposes?
Dear Maintainers,
I have posted this issue here, double posting for visibility: Kanaries/pygwalker#256
I have also found that when using derived data points (like create a Year field from timestamp), then it cannot be placed into the filter and the entire app hangs. So it's impossible to select any date range at the moment.
Could you please fix the date filtering functionality? Thank you very much in advance.
I recently embedded Graphic Walker in Jupyter Notebook (https://github.com/Kanaries/pygwalker).
Then I found Top Tabbars and Left Sidebars always cause a strange offset while dragging pills from the field list, see the GIF
I found the new pivot table feature very powerful, but it forces me to put my measurement to either x-axis or y-axis, which is not intuitive.
As shown in the pic, I can put my measurements to either x or y axis. Sounds flexible but not intuitive for an excel user because in excel there is a field dedicated for measurements. Also, when the number of dimensions in the field list increases, it is easy to make the field list messy.
I looked into the pivot table feature in Tableau and Excel, and seems they are using different strategies.
In one word, they both use an extra field for measures, so I believe it would be better if KG does it in the same manner
Any idea / suggestion is appreciated 😊
When I add a filter item, use vizStore.exportViewSpec()
export json.
part of json:
{"type":"one of","value":"Set(\"GET\",\"POST\")"}
'GET' and 'POST' is my filter items
I have some questions about the opacity
Where can I find a good example to know how the dataSource
, rawFields
and spec
properties of the GraphicWalker component need to be specified? I did not find a good example for different types of fields. Thank you.
When adding the same field twice, with different aggregation selected, both charts start displaying the same data:
-> page crash
Found in https://youtu.be/3WjWeH3HIMo
In the code, there are some url links to point to many locations, that is making the product require a connection to the internet.
When we deploy it in a closed network environment, or as a desktop app in a bad network, the user will have bad experience or no experience at all(if he dosen't have a connection).
Thus we would like to compile the package with resolved links as assets, or some other method.
Thank you!
When I converted a dimension variable to a measure one, its calculation will be "undefined". I think there should be a default calculation for it, may be sum?
I pasted an example below, where I used Bike Sharing dataset and tried to converted humidity from dimension to measure, and the x-axis turned out to be undefined(humidity)
On mobile/tablet no DND works for me in GW so there is no way to interact with GW.
Developing mobile DND or else an additional interaction approach like dropdowns would make this usable on mobile/tablets.
It's cool how fast it works to generate the UI. I have one doubt if anyone can explain. I tried loading a dataframe with categorical variables but this library didn't worked. It didn't generate any dashboard. I tried after selecting only those columns which are int or float then it was working fine. Let me know am i wrong somewhere? New to tableau though.
From reddit user's comment
It seems sometimes gw failed when there are only nominal fields.
The filter channel got locked so that no more pills could be appended into filter channel and the one in filter channel could not be removed whatever either.
No stable reproduction found yet.
Drag a field into the filter channel, then try to (1) drag another into it or (2) remove the existed one.
Nothing actually happened.
Hi Kanaries team,
Hopefully this question as titled is not totally nonsense😂
Many thanks!
Reproducible by https://graphic-walker.kanaries.net/
The tooltip don't show the correct aggregated numbers. And another small problem is: even I drop several fields into the "details" zone, it will only show the latest one.
But the interface is a little wonky inside of my Jupyter notebook. All the buttons on the side look kinda faint, and the GUI looks small with everything at a small font size. Also there is a mouse delay. I'm sure a lot of these problems could be solved on my end, but the package seems to work a lot better in the Google or Kaggle notebooks.
From Reddit user's comment
Load a topoJSON file.
Create a choropleth plot based on the loaded file.
Load another topoJSON file.
The previous topoJSON data should be cleared, and the newly loaded file should be used for the plot.
In the "data" tab, allow user to have a preview of the distribution, like it in RATH:
Nice project! Can you send a pull request to add this to https://vega.github.io/vega-lite/ecosystem.html?
<PureRenderer
name={spec.name}
visualConfig={spec.config}
visualState={spec.encodings}
type='remote'
computation={computationCallback!}
/>
set spec.config.limit
to 30, it can't work.
Mentioned here
Tableau allows changing the aggregation of datetime fields (so that you can drill down and up); is this functionality supported with pygwalker and if not can it be please added?
Kanaries/pygwalker#58
and voted here Kanaries/pygwalker#72
Currently the charts are not deletable since created, so I wonder whether it is possible to allow users to discard the unwanted charts.
I'm experimenting with gwalker inside Jupyter notebook.
df = pd.read_csv('./bike_path.csv', parse_dates=['datetime'])
gwalker = pyg.walk(df, hideDataSourceConfig=False)
There doesn't seem to be a way in the UI to shift a field from it's current designation (as a measure) to the other designation(dimension) or vice versa.
How do I control how an arbitrary column is interpreted by Gwalker.
And in a related question, if my original dataframe has a 'datetime' column, but in a visualiization I might want to use datetime.month or datetime.year, is there anyway to specify that use in the UI, or do I need to specify new columns in the df (month, year, etc) ?
Thanks
users can set custom range of values on the x or y axis, I think make sense.
link pygwalker issue: Kanaries/pygwalker#192
Is there someway to manage my zoom in only on the y-axis? The variability of my data is in the 0.001% range and it just looks like a straight line no matter how much I zoom because the zoom appears to be locked on both the x and y axis.
Also it appears to default to have y=0 on the bottom, my values are in the 10^6 and again it makes things look like straight line.
Hi! I came across this very nice package, and I would like to integrate it into a platform for neuroscience research. Unfortunately, the platform requires 18. Are there any plans to update graphic-walker to support React 18? Thank you.
If I create multiple Graphic Walker instances showing different charts, their states will be identical.
GW performance problem.
I'm considering using the @kanaries/graphic-walker library for generic data visualisation, and I'm finding it extremely useful. However, I have a requirement where I need to handle large datasets efficiently. Currently, the library fetches the entire dataset upfront, which can be problematic when dealing with large amounts of data. I'm assuming that based on demos; please let me know if I'm wrong. We have a requirement to display spatial datasets which can go up to 50GB in size.
I wanted to inquire if it's possible to modify the workflow of the library to support the lazy loading of the dataset as a React Component. Here's the proposed workflow:
Please let me know if this is something that can be done using this library as an import without needing to customize the internals.
I know it is silly, which is to obey the design purpose of graphic-walker as a graphics system based on the grammar of graphics.
But there are people who like power BI more than tableau.....
Hi,
Key visuals of numbers I'd love to reproduce in graphic-walker - and then integrate, rely on row facets, see 'row facet of formulae' "picture".
https://observablehq.com/@declann/some-cashflows
(+ text mark/channel, issue #66 )
What are the challenges to add row/col facets?
Thanks!
Declan
Hi, an option to use independent scales in facets would be useful, e.g. in the following chart we can't see the employees marks because the scale for other formulae is too big.
This is chart 2 in https://gist.github.com/declann/3e973796671f81d332c2ce36e3471e27
In this chart it's also useful to be able to remove legend as the color channel is redundant.
Is there a wish for this level of flexibility into graphic walker?
If not, I can probably do vega lite spec patching, supposing I embed graphic walker.
Thanks
Declan
Hello,
thank you for the very nice tool, do you plan to extend the data source formats with parquet?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.