-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add list of to-dos with priority #1
Comments
TODOs
|
We can break out each TODO as an issue for separate tracking but the master list can be kept here |
great thanks. I'll get to work on basic |
Hi! R htmlwidget is a great initiative! I'm developer of taucharts and happy to see this project started. Just wanted to share with you our nearest project plans. Currently we are:
Next plan is to rework and document legend and tooltip plugins since they were implemented on top of pure D3 before plugins concept was stabilized. Parallel and geo coordinates are in beta now and have several bugs with resizing and ugly labels positioning. They are in queue to be fixed and documented. Actually strategic goal for this year is to "squeeze out" full power of cartesian coordinates and avoid any new coordinate types for a while (like polar, pie charts etc). Please don't hesitate to discuss, ask questions or post issues / pull requests to taucharts. Thanks again! |
Thank you for the sweet javascript charting library! Super-helpful & On Tue, Aug 4, 2015 at 5:50 AM, Petriko Vladimir [email protected]
|
Guess we can start checking some of this off. I checked off plugins even though I know there are some remaining. |
@timelyportfolio I just made a |
Ok, thanks, sounds good. |
I made a stable release (0.1.0) for master branch and update-merged dev branch. New Rpub (with working trendline!) is up as well. |
Great. Have a pull now to add
|
If possible, would like to feature this as the htmlwidget of the week. Let me know if this causes any problems. |
go forth and showcase! 😀 On Tue, Aug 4, 2015 at 3:41 PM, timelyportfolio [email protected]
|
re: #12, aye, I think we're definitely full-on headed into "pry the details from the javascript files" vs "read the API docs" territory. good. times. |
You may want to sync the
|
cool package! suggested to do item: provide an example of how to use taucharts with shiny |
The package is so cool. |
@benporter : I find an example from another issue and modify it a bit for an example. Here you go # This is the server logic for a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#
library(shiny)
library(htmlwidgets)
library(taucharts)
shinyServer(function(input, output) {
scatter_dat <-
structure(
list(
team = c("d", "d", "d", "d", "l", "l", "l", "l",
"k", "k", "k", "k"), cycleTime = c(1L, 2L, 3L, 4L, 2L, 3L, 4L,
5L, 2L, 3L, 4L, 5L), effort = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L,
4L, 5L, 6L, 8L), count = c(1L, 5L, 8L, 3L, 1L, 5L, 8L, 3L, 1L,
5L, 8L, 3L), priority = c(
"low", "low", "medium", "high", "low",
"low", "medium", "high", "low", "low", "medium", "high"
)
), .Names = c("team",
"cycleTime", "effort", "count", "priority"), class = "data.frame", row.names = c(NA, 12L)
)
line_dat <-
structure(
list(
type = c(
"us", "us", "us", "us", "us", "us", "bug",
"bug", "bug", "bug", "bug"
), count = c(0L, 10L, 15L, 12L, 16L,
13L, 21L, 19L, 23L, 26L, 23L), date = c(
"12-2013", "01-2014",
"02-2014", "03-2014", "04-2014", "05-2014", "01-2014", "02-2014",
"03-2014", "04-2014", "05-2014"
)
), .Names = c("type", "count",
"date"), class = "data.frame", row.names = c(NA, 11L)
)
bar_dat <-
structure(
list(
team = c("d", "d", "d", "d", "l", "l", "l", "l",
"k", "k", "k", "k"), cycleTime = c(1L, 2L, 3L, 4L, 2L, 3L, 4L,
5L, 2L, 3L, 4L, 5L), effort = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L,
4L, 5L, 6L, 8L), count = c(1L, 5L, 8L, 3L, 1L, 5L, 8L, 3L, 1L,
5L, 8L, 3L), priority = c(
"low", "low", "medium", "high", "low",
"low", "medium", "high", "low", "low", "medium", "high"
)
), .Names = c("team",
"cycleTime", "effort", "count", "priority"), class = "data.frame", row.names = c(NA, 12L)
)
car_dat <-
structure(
list(
car = c(
"Toyota Prius+", "Volvo S60", "BMV X5",
"Infinity FX", "Mercedes Vito", "Peugeot 3008", "Subaru Forester",
"Lexus RX", "Bentley Continental"
), co2 = c(96L, 135L, 197L,
238L, 203L, 155L, 186L, 233L, 246L), hp = c(99L, 150L, 306L,
238L, 95L, 120L, 150L, 188L, 507L), euroEco = c(
"eco", "eco",
"non-eco", "non-eco", "non-eco", "non-eco", "non-eco", "non-eco",
"non-eco"
), power = c(
"low", "normal", "high", "high", "low",
"low", "normal", "normal", "high"
)
), .Names = c("car", "co2",
"hp", "euroEco", "power"), class = "data.frame", row.names = c(NA, 9L)
)
splom_dat <-
structure(
list(
param1 = c(
"hp", "hp", "hp", "co2", "co2", "co2",
"mpg", "mpg", "mpg", "hp", "hp", "hp", "co2", "co2", "co2", "mpg",
"mpg", "mpg", "hp", "hp", "hp", "co2", "co2", "co2", "mpg", "mpg",
"mpg", "hp", "hp", "hp", "co2", "co2", "co2", "mpg", "mpg", "mpg",
"hp", "hp", "hp", "co2", "co2", "co2", "mpg", "mpg", "mpg", "hp",
"hp", "hp", "co2", "co2", "co2", "mpg", "mpg", "mpg", "hp", "hp",
"hp", "co2", "co2", "co2", "mpg", "mpg", "mpg", "hp", "hp", "hp",
"co2", "co2", "co2", "mpg", "mpg", "mpg", "hp", "hp", "hp", "co2",
"co2", "co2", "mpg", "mpg", "mpg"
), param2 = c(
"hp", "co2", "mpg",
"hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp",
"co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2",
"mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg",
"hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp",
"co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2",
"mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg",
"hp", "co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg", "hp",
"co2", "mpg", "hp", "co2", "mpg", "hp", "co2", "mpg"
), value1 = c(
99,
99, 99, 96, 96, 96, 3.8, 3.8, 3.8, 150, 150, 150, 135, 135, 135,
7.4, 7.4, 7.4, 306, 306, 306, 197, 197, 197, 11.2, 11.2, 11.2,
238, 238, 238, 238, 238, 238, 11.2, 11.2, 11.2, 95, 95, 95, 203,
203, 203, 9.4, 9.4, 9.4, 120, 120, 120, 155, 155, 155, 9.2, 9.2,
9.2, 150, 150, 150, 186, 186, 186, 10.4, 10.4, 10.4, 188, 188,
188, 233, 233, 233, 13.3, 13.3, 13.3, 507, 507, 507, 246, 246,
246, 15.4, 15.4, 15.4
), value2 = c(
99, 96, 3.8, 99, 96, 3.8,
99, 96, 3.8, 150, 135, 7.4, 150, 135, 7.4, 150, 135, 7.4, 306,
197, 11.2, 306, 197, 11.2, 306, 197, 11.2, 238, 238, 11.2, 238,
238, 11.2, 238, 238, 11.2, 95, 203, 9.4, 95, 203, 9.4, 95, 203,
9.4, 120, 155, 9.2, 120, 155, 9.2, 120, 155, 9.2, 150, 186, 10.4,
150, 186, 10.4, 150, 186, 10.4, 188, 233, 13.3, 188, 233, 13.3,
188, 233, 13.3, 507, 246, 15.4, 507, 246, 15.4, 507, 246, 15.4
)
), .Names = c("param1", "param2", "value1", "value2"), class = "data.frame", row.names = c(NA,
81L)
)
output$bar <- renderTaucharts({
tauchart(bar_dat) %>% tau_bar("team", "effort", color = "priority") %>%
tau_legend() %>% tau_tooltip()
})
output$line <- renderTaucharts({
tauchart(line_dat) %>%
tau_line("date", "count", color = "type") %>%
tau_guide_x(label="Month") %>%
tau_guide_y(label="Count of completed entities", label_padding=50) %>%
tau_guide_padding(70, 70, 10, 10) %>%
tau_legend() %>%
tau_tooltip()
})
}) # This is the user-interface definition of a Shiny web application.
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
#
library(shiny)
library(htmlwidgets)
library(taucharts)
shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarPanel(width = 3,
selectInput(
"data", label = h4("Data available:"),
choices = c("none", "little", "some", "lots"),
selected = 1
)),
mainPanel(
tabsetPanel(
tabPanel("bar", tauchartsOutput("bar")),
tabPanel("line", tauchartsOutput("line"))
)
)
)) |
@ThoDuyNguyen thx for piecing and example together! I just pushed 0.2.5.9000 to the |
@hrbrmstr : You can use my name: "Thọ Duy Nguyễn". |
@hrbrmstr just come here to thump up for this package 👍 and maybe add publish to CRAN as to-do item? |
doh! super-good idea. that is def missing and we def need to try to get it On Wed, Aug 5, 2015 at 9:52 PM, Shows Le [email protected] wrote:
|
Great package TODO requests Sort out Dates ( I know!) inc ability to show different in tooltip and axis. eg tt 26 Sep 2003, whilst axis just shows years(once!) ability to angle legend labels chart title same opacity on points and legend - or preferably ability to set as required encourage taucharts guys to do an equivalent of ggplot geom_rect. Or something that can have More to come(I'm sure) Keep up the good work |
Danke! A cpl quick comments:
Keep'em coming! |
|
One key function missing across almost all htmlwidgets (except for visNetwork) is to return value of selected item. It will open a whole lot of opportunities for answering 'what's next' type of questions. |
Return value of which selected item? Back to R? In the JavaScript? |
I'm guessing datastorm-open/visNetwork#14 and the broader discussion ramnathv/htmlwidgets#86. Was just playing with this in |
is this something taucharts even supports directly (i.e. if they change naming conventions/etc this will break, right?) |
back to R (shiny), in visNetwork there's an option to fetch node. |
Yes, it will break, and that is why I hesitated to even discuss. |
@happyshows If you could, perhaps, put a feature issue request to the TauCharts JS folks to provide this functionality so we could add it officially (and properly) vs a hack, it'd be most appreciated. |
@hrbrmstr cool, will look into that. |
Alright, @happyshows here is an example using in JavaScriptIn this case, you might want to trigger other actions in JavaScript based on a click event on a
in ShinyHere we can send the clicked data from library(shiny)
library(htmlwidgets)
library(taucharts)
ui <- list(
tauchartsOutput( 'mytauchart' )
,textOutput( "messages", container = p)
)
server <- function( input, output, session ){
output$mytauchart <- renderTaucharts({
tauchart(esoph_tbl) %>%
tau_bar( "agegp", "Freq", "alcgp" ) %>%
tau_tasks(
'
function(){
var el_id = this.el.id;
d3.select(this.el).selectAll(\'[class^="graphical-report"] .i-role-datum\')[0].forEach(
function(el){
el.addEventListener( "click", function(e) {
Shiny.onInputChange(
el_id + "_click",
{data:d3.select(e.target).datum().data}
)
})
})
}
'
)
})
# from https://github.com/rstudio/leaflet/blob/master/inst/examples/shiny.R
v <- reactiveValues(msg = "")
observeEvent(input$mytauchart_click, {
v$msg <- paste("Clicked ", input$mytauchart_click$data)
})
output$messages <- renderText(v$msg)
}
shinyApp(ui,server) |
@timelyportfolio thanks for the explanation and solution. |
@hrbrmstr , I can try to implement this TargetProcess/tauCharts#68, but I thought you might have ideas, so I didn't want to head down the wrong path. cc @happyshows |
Hi, thanks for making this great widget, super useful. I have been making some nice charts and wanted to share / export them. Would it be possible to add a save to png function? I found a tauchart implementation here http://blog.taucharts.com/svg-to-png/. Cheers, Bob |
@good-marketing svg styles make exporting any svg based chart really tricky. For now, see if http://www.buildingwidgets.com/blog/2015/4/9/week-14-exporting-widget might help. Let me know. I haven't tried it yet with |
I still like the |
@timelyportfolio just want to follow up with you, any luck so far with the click hanlding update? Or let's just wait till Joe Cheng release the new mechanism via Shiny? |
@happyshows have not had a chance yet, but I do intend to address in the next 3 weeks. |
Happy to help on this one. Do you have a prioritized list of to-dos?
The text was updated successfully, but these errors were encountered: