Skip to content

Instantly share code, notes, and snippets.

@dogrunjp
dogrunjp / ML_for_Hackers_jp
Created June 22, 2013 04:57
入門機械学習4章 日本語ローカライズ版です。
getwd()
setwd("ML_for_Hackers-master/04-Ranking")
# Load libraries
library('tm')
library('ggplot2')
library('plyr')
# Set the global paths
data.path <- file.path("..", "03-Classification", "data")
@dogrunjp
dogrunjp / 0_reuse_code.js
Created March 20, 2014 04:25
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@dogrunjp
dogrunjp / new_gist_file_0
Last active August 29, 2015 13:57
Draw Hicharts Line Chart with multi data and multi dimensional json
#JSON
#特に色指定の必要が無ければ"color"はいりません。
[
{
"datas":[
{"name": "Array A","color": "#DD421D","data":[140,200,250,260,380,400,500,550,650,800]},
{"name": "Array B","color": "#E27E1A","data":[80,90,110,180,210,210,230,240,250,280]},
{"name": "Array C","color": "#EF9E1D","data":[170,180,230,240,260,270,280,330,340,350]},
{"name": "Array D","color": "#AAC40E", "data":[40,50,130,250,180,160,150,160,140,130]},
{"name": "Array E","color": "#76B711","data":[20,30,50,60,65,70,90,110,115,120]},
@dogrunjp
dogrunjp / d3js_tips_replace_text.js
Created March 23, 2014 13:15
D3.jsのテキストで特定の文字数以上の文字は途中から'…'などに文字を置き換える場合
chart1.append("text")
.text(function(d){if(d.Title.length <= 23){return d.Title;} else if (d.Title.length > 23){txt = d.Title.substr(0,21)+'…';return txt;}});
@dogrunjp
dogrunjp / Python_list_append_dict
Created March 24, 2014 20:45
Pythonのリストにdict型の変数をappendすると変数がポインタ的に振る舞うので…
リストに複数のdictをappendしようとすると下のように書いた場合、追加したすべてのdict型の変数が同じ値になる。
mylist = []
mydict = {}
for i,v in enumerate(items):
mydict['name'] = v
mydict['value'] = i
mylist.append(mydict)
この場合dict.copy()を使うと適切な結果になる。
for i, v enumerate(items):
@dogrunjp
dogrunjp / D3js_remove_items
Created March 25, 2014 21:01
D3.jsのアップデート時に、data().enter().append()したSVGのg要素を削除するとき。
#下記要素にSVGの要素を描画する
<div><svg class="chart1"></svg></div>
#D3.jsでSVG要素を描画後、要素をアップデートする前に下記のようにg要素を削除する
d3.selectAll("chart1 > g").remove()
@dogrunjp
dogrunjp / update_hicharts
Created March 26, 2014 06:23
Highchartsのデータをアップデートする方法はdestroy()〜とredraw()の2種類ある。destroy()して再描画した方が若干速いらしい。いずれもD3.jsのアップデートよりわかりやすい。(普通にjQueryなので…) ※マルチデータなline chartの例
##destro()〜なアップデート
#chart = new Highcharts.Chart(options)がすでに描画されているケースでは
$.getJSON('hoge.json',function(data){
chart.destroy()
options.xAxis = data[1];
options.series = data[0]['datas'];
chart = new Highcharts.Chart(options);
});
##redraw()を利用したアップデート
@dogrunjp
dogrunjp / python_re_in_lc.py
Created March 27, 2014 09:37
Pythonはリスト内包表記の中で正規表現が使えるとのこと。テキスト処理に使えそう。
>>>import re
>>>list = ['a', '1', 'bc', '-b', '2a','100']
>>>r = re.compile("[a-z]")
>>>[x for x in list if r.mathch(x)]
['a','bc']
@dogrunjp
dogrunjp / Flask_path_to_file
Created March 29, 2014 06:29
Flaskアプリからファイルを書き出すときにアプリケーションのパスを取得するには…
Flaskアプリからopen(filename, 'w')することはできない、というかこのときfilenameが書き込まれるパスはFlaskアプリのルートにではなくos.path.abspath(os.curdir)になる。たとえばFlaskのstaticディレクトリにJSONを書き出し静的なjson利用したいとしたら
BASE_DIR = os.path.dirnam(__file__)
myfile = open(os.path.join(BASE_DIR,'static/sample.json'), "w")
myfile.write(data)
のように書く
@dogrunjp
dogrunjp / Gomi-data-ics.txt
Last active August 29, 2015 13:57
静岡市のゴミカレンダーデータのコンバートサービスで利用しているカレンダーフォーマット(ics)と、アプリケーションの設計資料です。平成26年度版(開発中)です。
##階層構造をわかりやすくするためインデントしていますが、実際のデータは行頭に空白を入れると改行を意味するため、空白は入れません。
##コメント行を入れていますがコメントを意味する記号が本当は何か不明。
BEGIN:VCALENDAR
PRODID: -//ex skip-dog.net//Manually #クリエイターの識別子。必須。
METHOD:PUBLISH
VERSION: 2.0 #必須
BEGIN:VTIMEZONE #以下タイムゾーン
TZID:Japan