Giter VIP home page Giter VIP logo

graphic-walker's People

Contributors

antoineyang avatar basscoder2808 avatar bilalmirza74 avatar bruceyyu avatar cijiugechu avatar fengyxz avatar gehbt avatar github-actions[bot] avatar imyuanx avatar islxyqwe avatar jojocys avatar k6sdevbob avatar kainblake avatar kushie0 avatar leko avatar levinotik avatar longxiaofei avatar observedobserver avatar sudhanshu-77 avatar unimu-cic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graphic-walker's Issues

Primary color setting bug

  1. open graphic walker
  2. click config button
  3. open color palette for primary color
    (sometimes you can find the color rgba is ull)
  4. click somewhere else

-> page crash

Example data for React component

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.

[discuss] extra field for measurements in pivot table

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.
image

I looked into the pivot table feature in Tableau and Excel, and seems they are using different strategies.

  • Tableau: user define the measurement in the "label" field of the "mark" panel, and only one measurement is allowed in each table. However, it allows user to further take advantage of the visual channels (color, size, etc.)
image
  • Excel: user define the measurements in the "values" field and multiple measurements are allowed, but there is no such visual channel in a table.
image

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 😊

bug: undefined calculation for quantitative measures converted from dimension

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)

image

Support for React 18+

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.

[BUG] (unreproducible yet) Filter channel locked after inserting one filter

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.

Reproduction

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.

Expected Behavior

  1. A new filter rule will be appended.
  2. The filter rule will be removed wherever you drop it outside the filter channel.

Actual Behavior

Nothing actually happened.

Pivot table: repeat labels

In pivot tables with multiple fields mapped to one axis, an option to repeat labels would help to make the table easier to scan.

e.g. in the following full adder truth table:

Screenshot from 2023-07-30 22-41-26

Axis zoom is very restrictive

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.

[feat] Custom Bin Config

Issue: current bin transformation cannot be customized for bin number(which is defaulted by 10).
TODO:

  • Allow the user to customize the bin's config (bin number)
  • Default bin is still set as 10 in the field menu, the config panel is only for those who need customization (progressive design).

image

image

feature request: text mark and channel

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

image

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

VS Code

for vs code application does not work? what about the dark theme?

image

PureRednererApp component: limit can't work.

<PureRenderer
    name={spec.name}
    visualConfig={spec.config}
    visualState={spec.encodings}
    type='remote'
    computation={computationCallback!}
/>

set spec.config.limit to 30, it can't work.

feature requests: independent scales option, legend on/off option

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.

image

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

Fully offline

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!

datasets with only categorical variables didn't worked in `pygwalker`. It didn't generate any dashboard.

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.

Date filtering feature does not work

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.

Workflow to Support Lazy Loading of Dataset?

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:

  • Initially, only fetch the measures and dimensions from the data source. JSON API is preferable, but direct SQL connection is also doable.
  • Allow the user to make chart selections such as the x-axis, y-axis, size, and color.
  • A button (e.g., "Generate Visualization") should be used to trigger the lazy loading of the dataset. It can either filter via the JSON API,or fetch the actual group/subset via SQL query, based on the selected measures and dimensions.
  • Once the dataset is fetched, generate the visualization using the selected chart options.

Please let me know if this is something that can be done using this library as an import without needing to customize the internals.

Mouse delay and UI enhance request

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

request: parquet source

Hello,

thank you for the very nice tool, do you plan to extend the data source formats with parquet?

[feat] Deletable charts?

Currently the charts are not deletable since created, so I wonder whether it is possible to allow users to discard the unwanted charts.

The valid value of opacity

image

I have some questions about the opacity

  • I set column "weight" as opacity, there are 2 values in this col, 1 and 255.
  • A sample line in my df is {'name':'some name', 'month':'2022-02', 'weight':255}, name as Y and month as X, and weight means the opacity of the cell such as a heatmap.
  • If this col is "dimension", then drag on opacity, it looks fine. But if set as "measure", it looks been calculated for the whole column.
  • And even if I set the weight from 10 to 100, or 1 to 255, or 0.1 to 1, the opacities look the same, is it some normalization happened? Can I set a specific value for the opacity?

Using graphic-walker in angular application

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?

Switching between measure and dimension

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

mobile DND doesn't work / unusable on mobile/tablet

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.