Comments (5)
I added default plot settings in the options(Hyde_plotOptions)
, but I still need to do a little tweaking. I'll need to add a new function to modify the options that isn't as tedious as setting all the node attributes.
from hydenet.
Given the new functionality for customizing plots with plot.HydeNetwork
, do we still need to keep the plot.compiledHydeNetwork
method? On the one hand, we could apply the default plotting mechanism and just alter the observed variables. On the other, it isn't hard to do that from plot.HydeNetwork
anymore.
Thoughts?
from hydenet.
Good point. I guess I hadn't thought about the issue with observed vs. unobserved nodes. It's hard to think about formatting all these different node classes with only 2 shapes supported by the Rgraphviz API (I know the Graphviz software has several more shapes):
Random observed/unobserved
Decision observed/unobserved
Deterministic evaluated or not evaluated (could combine those two, i.e., keep with the gray presentation - I like it)
Utility (could keep with the present visualization)
If we were to consider observed nodes as separate formats, couldn't that be incorporated into the new functionality instead of via plot.compiledHydeNetwork? In this case, it would be nice, but probably I'd recommend we create a separate issue for this and do this on a later release.
One thing that should probably be a default is the global attribute fixedsize=FALSE.
from hydenet.
So, I think I'm going to go ahead and delete plot.compiledHydeNetwork
for now. My reasoning is this:
I think I can build a better functionality using the DiagrammeR
package. I've played with it some, and it looks an awful lot better and should be quite a bit easier to manipulate than the Rgraphviz
stuff. For the moment, everything is working as expected, and even if it takes me a little while to get the DiagrammeR
plotting to work, I can work all of the new stuff into the existing framework.
So, the take home message is that I will reconstruct this function when I finish plot.HydeNetwork
. It will be easier to modify the plot for the compiled network using the HydeNetwork
method.
from hydenet.
DiagrammeR looks awesome!
Let's leave this issue open and revisit default node styles. Let's wait on this until after the v1.0 release.
Open to suggestions re: the default formats, but here's a possibility (based on http://www.graphviz.org/doc/info/shapes.html):
nodeType | shape | border | text | textWhenObserved | font style (if it exists?) |
---|---|---|---|---|---|
random variable | rounded | black | black | red | regular |
deterministic | plaintext | transparent (ignored for plaintext?) | gray | light red | italics |
decision | hexagon or doubleoctagon | blue | blue | red | bold |
utility | invhouse | green (something darker than rgb(0,1,0)) | green | red | bold |
from hydenet.
Related Issues (20)
- Change JAGS parameter names to R parameter names HOT 2
- Change HydePosterior to HydeSim
- Update documentation in `setNode`
- setNode dbern bug HOT 4
- Error when data is tibble HOT 3
- Inaccurate HydeSim() predictions with discrete nodes
- Truncated normal distribution HOT 1
- `setNode` doesn't have a `nodeData` argument.
- `bindPosterior` should retain an index for chain number HOT 4
- Store network images in vignettes as PNGs HOT 5
- Formula checking error HOT 4
- [!] logit() and the VGAM package HOT 4
- Stan Integration
- ArgumentCheck error in setNode() HOT 1
- Changing graph layout
- Adding observed nodes to compileDecisionModel() HOT 3
- Changes in upcoming v0.8 release of `DiagrammeR` package will require changes in `plot.HydeNetwork` HOT 3
- Relaxing some decision/utility node constraints HOT 6
- policyMatrixValues() returns null HOT 1
- Categorical interactions are not handled correctly
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 hydenet.