Comments (3)
Here's some design factors I was facing with:
- Since having numbers left side makes things complicated than it should be, having this right-side looks legit.
- Using dots can give similar looks with line chart, and also runs in non-unicode situations like CMD with default config.
- Negative value presentation
- One way to present negative value is adding minimum value to data for drawing and then marking it as negative on left side.
- Alternative would be having value 0 as starting point and stretch bar to both side. This will require flipping background and char color as there is no vertically flipped progressive characters. But this required so much more calculations and don't quite look great for the effort it took.
Here's demonstration of concept with two overlapping infinite sin waves. Video is fast-forwarded by factor of 2.
ezgif.com-gif-maker.4.mp4
Adding such as a reliable widget won't be easy for sure, and current implementation is so much limited and dirty and easily goes out of height. We'll probably need to limit or sacrifice some factors and design what and how GraphWidget is supposed to do or look - and I definitely need your idea on those.
-p.s. I think we'll have to change default style of SliderWidget someday to match more of py_cui's style, rather than having it barebone as default. This might or might not be a breaking change as toggle_border
and toggle_title
works as toggle and changing default would invert theme on previously written codes. But since 1.3.0
hasn't been released yet so practically no code other than my ones will be affected. If you also think this change is needed, I'll make a PR before 1.3.0
's release.
from py_cui.
This is certainly impressive and a good start, is the code available somewhere? As for the slider, I think it makes sense to have it look more similar to the default configuration as standard, and then have the options to make it look more barebones.
from py_cui.
Hyperlink above video is the source code - somewhat complex and not easy to read for sure.
It's more of an application so far - for a proof/validation of concept drawn on TextBlock. Logic itself is the things starting with visualizer_*
and graph_draw*
.
In it's nature it's core logic is from what I used to visualize sorts long ago to support various character rules, but we might not need such feature and could strip down complexity a bit and improve the performance.
Still hasn't decided how to deal with large numbers overflowing out of graphing area, not sure what I should do for such case where axis just decide to disappear out of existence yet.
from py_cui.
Related Issues (20)
- Skip focus for certain widgets HOT 3
- ....
- Add an outer border around the textbox popup
- Cannot update widgets in a for or while loop HOT 3
- Possibility to delete color rules HOT 2
- ERROR: self.get_widgets()[next_widget_num] is None HOT 10
- CUI not accessable, after posting terminal output to window HOT 7
- Cycling widgets does not respect the non selectable widget option
- ScrollTextBlock not rending text correctly once text row length is GTE viewport rows/y dimension
- [not-a-bug][help-wanted] How to change border colors of selected buttons HOT 1
- Error when running .clear() on text_block HOT 3
- Allow multi-line items for scroll_menu
- [FIX] For list index out of range when clicking blank space with mouse in a MenuPopup HOT 1
- Add option for dumping py_cui interface as xml (machine readable) file
- Can only select text with a right click and cannot drag mouse to select on demand HOT 1
- HOME and END in TextBoxPopup places cursor outside of popup box HOT 1
- getting ModuleNotFoundError: import py_cui while running examples HOT 1
- Trouble installing via pip on Windows HOT 2
- [notabug][helpwanted] Not sure how popup is meant to work ? HOT 1
- Executing code with `py_cui` yields no results on my terminal (cmd) on my windows 11 platform HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from py_cui.