ไลบรารี discretization JS เล็ก ๆ สำหรับการแสดง choropleth


9

ฉันอยากจะรู้ว่าห้องสมุด js สถิติ / discretization เล็ก ๆ พร้อมที่จะใช้อยู่

ฉันจะรู้เกี่ยวกับการดำรงอยู่ของjStat (ซึ่งผมอาจสำรวจนิด ๆ หน่อย ๆ อย่างทั่วถึง) และฉันรู้ว่า mapfish ที่มี geostats โมดูล / เครื่องมือในการสร้างแผนที่ choropleth - ฉันพบรหัสที่นี่ แต่ขึ้นอยู่กับ openlayers และฉันต้องการ lib แบบสแตนด์อโลนและในที่สุดก็สามารถสื่อสารกับ openlayers ได้ฟรี

ฉันต้องการวิธีพื้นฐานบางประการ:

  • นาที
  • สูงสุด
  • ค่าเฉลี่ย
  • มัธยฐาน

และสามารถใช้การแยกย่อยต่อไปนี้ด้วยความสามารถในการระบุจำนวนคลาสและความแม่นยำ (ทศนิยม):

  • quantile
  • ช่วงเวลาที่เท่าเทียมกัน
  • แบ่งตามธรรมชาติ (Jenks)

ถ้ามันยังไม่มีอยู่ฉันอาจจะเขียนโค้ดตัวเองและปล่อยให้มันเป็น github ภายใต้ลิขสิทธิ์ฟรี ยินดีต้อนรับทรัพยากรและคำแนะนำใด ๆ


1
สิ่งนี้มีลักษณะคล้ายกัน - code.google.com/p/pseudosavant/source/browse/trunk/mathStats/ ...... มีเหตุผลอะไรที่จะไม่ไปกับ jStat?
geographika

แน่นอนว่าห้องสมุดที่คุณพูดถึงอาจเป็นการเริ่มต้นที่ดี ทำไมไม่ jstat เพราะฉันไม่ได้เห็นวิธีการแยกแยะและนั่นคือสิ่งที่ฉันกำลังมองหาในลำดับความสำคัญ - วิธีสถิติเป็นชนิดของโบนัส
simo

คำตอบ:


18

ฉันเขียนโค้ดเมื่อวานนี้และเผยแพร่ภายใต้ MIT License

ห้องสมุดชื่อgeostatsสามารถใช้ได้บนGitHub แพคเกจรวมถึงตัวอย่าง นอกจากนี้คุณยังสามารถดูการดำเนินการได้ที่http://www.intermezzo-coop.eu/mapping/geostats/ (พร้อมตัวอย่างที่เป็นตัวแทนของนักแสดงที่เป็นรูปธรรม)

รองรับวิธีการ 8 รายการข้างต้น:

  • quantile
  • ช่วงเวลาที่เท่ากัน
  • ส่วนเบี่ยงเบนมาตรฐาน
  • ความก้าวหน้าทางเลขคณิต
  • ความก้าวหน้าทางเรขาคณิต
  • เที่ยวธรรมชาติ (เจงส์): รหัสการจำแนกเจงส์ได้รับมาจากดั๊ก Curl
  • ค่าที่ไม่ซ้ำ
  • การจำแนกประเภทที่ผู้ใช้กำหนด

ห้องสมุดนี้ยังรวมถึงวิธีการที่จะทำให้ตำนานในรูปแบบ HTML ดูตัวอย่างคำอธิบายแผนภูมิ HTML เพื่อดูตัวเลือกที่มี (คลาสต่อเนื่องไม่ต่อเนื่องและแตกต่างกัน)

ตัวอย่างการจำแนก Quantile:

การจำแนกและลำดับตำนาน

ตัวอย่างการจำแนกค่าที่ไม่ซ้ำ: ป้อนคำอธิบายรูปภาพที่นี่

ดูตัวอย่างการอ่านค่าโดยตรงจาก shapefile (โดยใช้ห้องสมุด Marc Harter)

หากคุณต้องการลองด้วยตัวเองใน 2 ขั้นตอนโดยใช้jsconsole :

ทำการคัดลอก / วางในคอนโซลก่อน :

load("https://raw.github.com/simogeo/geostats/master/lib/geostats.js");

จากนั้นคัดลอก / วาง:

var data = Array(12, 22, 5, 8, 43, 2, 34, 12, 34, 36, 5, 21, 23, 45, 12, 31, 38); 
serie = new geostats(data); 
serie.getEqInterval(4);
alert('Classification method : ' + serie.method + "\n\nClasses : " + serie.ranges.join(' | '));

โปรดแจ้งให้เราทราบหากคุณพบข้อผิดพลาดใด ๆ ยินดีต้อนรับความคิดหรือข้อเสนอแนะเพื่อปรับปรุงห้องสมุดอีกครั้ง

นั่นคือทั้งหมด! หวังว่ามันจะเป็นประโยชน์กับคุณ


ระวัง - ลิงค์ jsconsole ชี้ไปที่ "jconsole.com" ซึ่งเป็นสแปมเมล์ ฉันไม่มีกรรมที่ต้องการเพื่อแก้ไขปัญหานี้ ทุกคนสามารถอัปเดตลิงก์ได้หรือไม่ มันอาจมีรหัสที่เป็นอันตราย
Thibaut Barrère

1

Zachary Forest Johnson ทำงานได้อย่างยอดเยี่ยมมากในการวิเคราะห์ใจผู้เล่น openlay

ห้องสมุดที่อยู่ภายใต้ใบอนุญาต BSD ที่มีอยู่บนGitHub คำอธิบายเพิ่มเติมเกี่ยวกับโครงการและตัวอย่างที่มีอยู่บนบล็อกของเขา


1

Science.jsเป็นคอลเลกชันที่มีการใช้งานอย่างดีของสถิติและฟังก์ชันพีชคณิตเชิงเส้นโดยไม่มีการพึ่งพา


น่าสนใจ แต่ฉันไม่เห็นวิธีการจัดหมวดหมู่ ที่พวกเขา?
simo

มีบางอย่างเช่นgithub.com/jasondavies/science.js/blob/master/src/stats/…
tmcw

0

ผมคิดว่าวันนี้ห้องสมุดที่ดีที่สุดน่าจะเป็นง่ายสถิติ มันมีคุณภาพสูงมากและใช้งานโดย TurfJS มันใช้ " ckmeans " เป็นการปรับปรุงมากกว่า Jenks

ตัวอย่าง (เก่า): http://bl.ocks.org/tmcw/4969184

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.