[{"data":1,"prerenderedAt":416},["ShallowReactive",2],{"project-5698370":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":85,"maker_in_thread":208,"shape":216,"grid":221,"attempts":380,"same_week":381,"maker_shows":293,"maker_hidden":409,"reader_version":410,"card":411},"5698370","Chartkick","Create Javascript charts with one line of Ruby","title","Show HN: Create Javascript charts with one line of Ruby","http:\u002F\u002Fankane.github.io\u002Fchartkick\u002F","ankane.github.io","akane",1368449935,2013,272,61,43,1739,3,"legend","dev_tools","charting library","library",[24,25,26,27],"ruby charts","javascript charts","highcharts ruby","google charts rails","mixed",0.22,{"positive":31,"neutral":32,"mixed":33,"critical":34},13,11,0,7,31,{"idea":37,"design":40,"execution":42,"docs":43},{"positive":38,"critical":39},4,2,{"positive":41,"critical":39},1,{"positive":33,"critical":39},{"positive":33,"critical":41},[45,41,33,33,33,45,18,33,33,45,18,41,33,41,45,41,33,33,33,18,41,33,33,18,45,33,45,18,33,45,41,41,18,18,45,45,18,45,45,45],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":59,"openness":84,"stage":84,"team_size":84},{"value":49,"source":50,"evidence":51},"Generating JavaScript charts from Ruby without writing chart library code by hand","commenter",[52,56],{"id":53,"by":54,"text":55},"5698816","tomblomfield","This looks nice, but most of the hard work is done elsewhere. https:\u002F\u002Fgithub.com\u002Fankane\u002Fgroupdate (by the same author) makes it simple to output the right JSON grouped by date…",{"id":57,"by":11,"text":58},"5698902","Highcharts, Google Chart, groupdate, jQuery (for AJAX), and iso8601.js (date parsing) definitely do the heavy lifting. My favorite part about the library is you don't need to…",[60,66,72,76,80],{"value":61,"source":62,"evidence":63},"Ruby","maker",[64],{"id":65},"post",{"value":67,"source":62,"evidence":68},"JavaScript",[69],{"id":70,"by":11,"text":71},"5698654","Thanks! I started out heavy on the Ruby side but moved most logic to the JS to make AJAX charts dead simple to implement. (render :json => chart_data)",{"value":73,"source":62,"evidence":74},"Highcharts",[75],{"id":57,"by":11,"text":58},{"value":77,"source":62,"evidence":78},"Google Charts",[79],{"id":57,"by":11,"text":58},{"value":81,"source":62,"evidence":82},"jQuery",[83],{"id":57,"by":11,"text":58},"unknown",{"praise":86,"objections":128,"requests":155,"questions":167,"alternatives":182},[87,102,117],{"value":88,"source":50,"evidence":89},"Simple one-line Ruby API for charts",[90,94,98],{"id":91,"by":92,"text":93},"5698555","hiccup","Great meta graphing library. Love that Google Charts AND Highcharts are supported.",{"id":95,"by":96,"text":97},"5698943","vysakh0","This is what i was looking for, just in time :) I had tried Highcharts but this is the most neat solution. Thanks.",{"id":99,"by":100,"text":101},"5698525","purephase","This looks amazing. Thanks for sharing.",{"value":103,"source":50,"evidence":104},"Pairs well with groupdate for date grouping",[105,109,113],{"id":106,"by":107,"text":108},"5698875","patio11","Nice, going to try this. I particularly like the groupdate concept, and might send you a pull request adding 2.X support, if that fits in line with the project goals. I should…",{"id":110,"by":111,"text":112},"5700001","tbrooks","I've been looking for something like groupdate for a long time. Time to go back and refactor...",{"id":114,"by":115,"text":116},"5702411","winstonyw","Good stuff! The groupdate lib's really handy for quick visualization of data. Nice! For more complex visualizations, might want to check out GoogleVisualr which I created…",{"value":118,"source":50,"evidence":119},"Lightweight wrapper that is easy to port",[120,124],{"id":121,"by":122,"text":123},"5698609","jqueryin","The ruby wrapper lib around the JS is dead simple. Could be ported to any language with ease. Very nice work!…",{"id":125,"by":126,"text":127},"5700893","jameswyse","I wasn't going to click on this as I don't use Ruby very often, but I'm glad I did as it's mostly JavaScript with a ruby helper! If I were you I would reverse the focus and make…",[129,133,144],{"value":130,"source":50,"evidence":131},"Most of the work is done by Highcharts and Google Charts",[132],{"id":53,"by":54,"text":55},{"value":134,"source":50,"evidence":135},"Curved interpolated lines can misrepresent data",[136,140],{"id":137,"by":138,"text":139},"5698700","cabalamat","Assuming the data for the graph shown is the dots, then the lines between them should be straight, not curved, because othrwise the graph is pretending to have higher accuracy…",{"id":141,"by":142,"text":143},"5699380","windsurfer","Not entirely sure if this is on-topic, but why do so many graphs when told to \"smooth\" results simply apply a bezier curve to the data points? It results in some maximum and…",{"value":145,"source":50,"evidence":146},"Setup requires including Google Charts or Highcharts separately",[147,151],{"id":148,"by":149,"text":150},"5698601","huhtenberg","``` Error Loading Chart: Please install Google Charts or Highcharts ```",{"id":152,"by":153,"text":154},"5698617","envex","You have to install either library as well: -- For Google Charts, use: \u003C%= javascript_include_tag \"\u002F\u002Fwww.google.com\u002Fjsapi\", \"chartkick\" %> If you prefer Highcharts, use: \u003C%=…",[156,163],{"value":157,"source":50,"evidence":158},"Support for more chart customization",[159],{"id":160,"by":161,"text":162},"5702053","herman5","Can the charts be customized?",{"value":164,"source":50,"evidence":165},"Port to a JavaScript-first library with language helpers",[166],{"id":125,"by":126,"text":127},[168,175],{"value":169,"source":50,"evidence":170},"Error with group method on Mongoid arrays",[171],{"id":172,"by":173,"text":174},"5700096","hayksaakian","Hmm. I'm getting a ``` undefined method `group' for #\u003CArray:0x3a32f0c> ``` error with ``` \u003C%= pie_chart @pixel.hits.group(\"referrer\").count %> ``` using mongoid 3, Pixel…",{"value":176,"source":50,"evidence":177},"PostGIS adapter not supported by groupdate",[178],{"id":179,"by":180,"text":181},"5704355","MartinDuese","I get \"* RuntimeError Exception: Connection adapter not supported: PostGIS\" when trying to use groupdate. I am using Postgresql with Postgis. Is there a workaround?",[183,190,197,201],{"value":184,"source":50,"evidence":185},"Lazy Highcharts",[186],{"id":187,"by":188,"text":189},"5698887","up_and_up","Lazy Highcharts has been available for quite some time: https:\u002F\u002Fgithub.com\u002Fmichelson\u002Flazy_high_charts I highly recommend it over writing JS for your highcharts, esp if you push a…",{"value":191,"source":50,"evidence":192},"django-graphos",[193],{"id":194,"by":195,"text":196},"5700252","shabda","We are building something similar for Django\u002FPython: https:\u002F\u002Fgithub.com\u002Fagiliq\u002Fdjango-graphos I am going to pick up some ideas from your code.",{"value":198,"source":50,"evidence":199},"GoogleVisualr",[200],{"id":114,"by":115,"text":116},{"value":202,"source":50,"evidence":203},"RazorFlow",[204],{"id":205,"by":206,"text":207},"5699909","antileet","If anyone's looking for similar functionality for PHP (Database-level time-grouping, time-ranged drilldowns, charts), you can check out http:\u002F\u002Frazorflow.com (Disclosure: I am the…",{"comments":209,"answered":18,"key":210},10,[211,214,215],{"id":212,"text":213},"5698938","Awesome, looking forward to it.",{"id":70,"text":71},{"id":57,"text":58},{"commenters":217,"max_depth":218,"maker_replies":209,"first_comment_mins":219,"lifespan_hours":220},45,6,37,23,[222,224,226,228,231,235,238,241,243,245,249,252,255,256,257,260,261,264,267,271,273,275,276,277,279,282,285,287,290,292,295,299,302,304,306,308,311,312,314,316,321,322,327,330,332,334,339,342,344,346,348,351,353,357,359,361,363,367,371,374,378],[106,33,45,223,107,33],"project\u002Fpositive\u002Fidea",[212,33,33,225,11,41],"commenter\u002Fneutral\u002Fnone",[137,41,41,227,138,33],"project\u002Fcritical\u002Fdesign",[229,41,33,225,230,33],"5699887","hnriot",[232,41,33,233,234,33],"5700827","commenter\u002Fneutral\u002Fdesign","cscheid",[236,41,33,225,237,33],"5702185","gcr",[239,41,33,233,240,33],"5702408","ibrahima",[121,39,45,242,122,33],"project\u002Fpositive\u002Fdesign",[70,39,33,244,11,41],"maker\u002Fneutral\u002Fdesign",[246,39,18,247,248,33],"5698834","project\u002Fneutral\u002Fdesign","mccolin",[250,39,33,225,251,33],"5699330","proletarian",[253,39,33,254,248,33],"5699492","other\u002Fneutral\u002Fnone",[205,39,33,254,206,33],[194,39,45,223,195,33],[258,39,33,254,259,33],"5702320","satjot",[141,18,18,247,142,33],[262,38,41,227,263,33],"5699096","bluesnowmonkey",[265,38,33,233,266,33],"5699263","lobster_johnson",[268,38,33,269,270,33],"5700007","commenter\u002Fneutral\u002Fperformance","jeremyjh",[272,38,33,269,266,33],"5700418",[187,45,41,274,188,33],"project\u002Fcritical\u002Fidea",[91,218,45,223,92,33],[53,34,41,274,54,33],[57,34,33,278,11,41],"maker\u002Fneutral\u002Fnone",[280,34,33,225,281,33],"5699027","logicallee",[283,34,33,225,284,33],"5699112","mitchh",[286,34,33,225,266,33],"5699947",[288,34,33,225,289,33],"5700081","CatMtKing",[114,291,33,254,115,33],8,[172,293,18,294,173,33],9,"project\u002Fneutral\u002Fexecution",[296,293,33,297,298,33],"5700217","commenter\u002Fneutral\u002Fdocs","jdminhbg",[300,293,41,301,173,33],"5700262","project\u002Fcritical\u002Fdocs",[303,293,33,225,11,41],"5700349",[305,293,33,225,173,33],"5701785",[307,293,33,278,11,41],"5702252",[309,293,18,294,310,33],"5700411","mnutt",[110,209,45,223,111,33],[125,32,18,313,126,33],"project\u002Fneutral\u002Fidea",[315,32,33,313,11,41],"5701055",[317,318,45,319,320,33],"5701284",12,"project\u002Fpositive\u002Fnone","gothep",[179,31,18,294,180,33],[323,324,18,325,326,33],"5698694",14,"project\u002Fneutral\u002Fnone","swombat",[328,324,33,254,329,33],"5698697","janerik",[331,324,33,325,11,41],"5698703",[95,333,45,319,96,33],15,[335,336,41,337,338,33],"5698718",16,"project\u002Fcritical\u002Fexecution","MoOmer",[340,336,33,341,11,41],"5698753","maker\u002Fneutral\u002Fexecution",[148,343,41,337,149,33],17,[152,343,18,345,153,33],"project\u002Fneutral\u002Fdocs",[347,343,33,345,11,41],"5698623",[349,343,18,345,350,33],"5698649","sanderjd",[352,343,18,345,149,33],"5699734",[354,355,45,319,356,33],"5698585",18,"olapersson",[99,358,45,319,100,33],19,[160,360,18,247,161,33],20,[362,360,33,247,11,41],"5702237",[364,365,45,319,366,33],"5700367",21,"phillmv",[368,369,45,319,370,33],"5699878",22,"MatthewB",[372,220,45,319,373,33],"5700837","summatori",[375,376,45,319,377,33],"5698860",24,"justplay",[379,376,33,225,377,33],"5699019",[],[382,387,392,397,401,405],{"id":383,"name":384,"points":385,"category":386},"5682831","Clipping Magic",571,"creative",{"id":388,"name":389,"points":390,"category":391},"5698741","Duet",367,"productivity",{"id":393,"name":394,"points":395,"category":396},"5686380","Launching Hoverboard",144,"web_saas",{"id":398,"name":399,"points":400,"category":20},"5708097","Red Pen",139,{"id":402,"name":403,"points":404,"category":396},"5707525","CoderPad",136,{"id":406,"name":407,"points":408,"category":20},"5715088","FlatUIKit",116,false,"v2",{"id":412,"name":5,"line":6,"ai":409,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":413,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":414,"url":9,"mix":415,"praise":88,"objection":130,"sub":21},5698370,[24,25,26,27],"5100053005310151000310035053051133553555",[31,32,33,34],1794036506707]