C3: ๋กœ๊ทธ ํ”Œ๋กฏ

์— ๋งŒ๋“  2014๋…„ 05์›” 20์ผ  ยท  16์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: c3js/c3

์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”,
์—ฌ๊ธฐ์™€ ์˜ˆ์ œ ํŽ˜์ด์ง€์—์„œ ์กฐ๊ธˆ ๊ฒ€์ƒ‰ํ–ˆ์ง€๋งŒ ๋กœ๊ทธ ์Šค์ผ€์ผ ์ถ•์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋Šฅ ์š”์ฒญ์œผ๋กœ ๊ฐ„์ฃผํ•˜์‹ญ์‹œ์˜ค.
์นœ์• ํ•˜๋Š”,
์•ผ์ฝ”ํ”„.

C-feature-request C-new-chart

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ๊ฒƒ์€ ๊ฝค ์ถ”ํ•œ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  d3 ์Šค์ผ€์ผ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  16 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ง์ ‘ ๋กœ๊ทธ ์Šค์ผ€์ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ”Œ๋กฏํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‚˜์ค‘์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ ๊ณ ๋ คํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ๋งˆ์‚ฌ์œ ํ‚ค๋‹˜

๋กœ๊ทธ ์Šค์ผ€์ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€๊ธˆ ์ด ๊ธฐ๋Šฅ์„ ์—๋ฎฌ๋ ˆ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ž…๋‹ˆ๊นŒ? #Axis ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์•˜์ง€๋งŒ ์ž„์˜์˜ ์œ„์น˜์— ๋ˆˆ๊ธˆ์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
๊ท€ํ•˜์˜ ์‹œ๊ฐ„๊ณผ ๋…ธ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
์•ผ์ฝ”ํ”„.

๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•  ๋•Œ ๋กœ๊ทธ ์Šค์ผ€์ผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Python์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉ๋ก์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

[100,1000,10000]

๋‹น์‹ ์€ ๋‹จ์ง€ ์ด๊ฒƒ์„

import math
log_list = map(math.log10,[100,1000,10000])

Masayuki์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๊ตฌํ˜„:

data_test_original = ['data1', 10, 100, 1000, 3, 500, 50, 5, 3000]
data_test = ['data1'];
for(var i=1; i<data_test_original.length; i++){
    data_test[i] = Math.log(data_test_original[i]) / Math.LN10;
}

var chart_test = c3.generate({
    bindto: '#chart_test',
    size: {
        height: 240,
        width: 480
    },
    data: {
      columns: [
        data_test
      ]
    },
    axis : {
        y : {
            tick: {
               format: function (d) { return Math.pow(10,d).toFixed(2); }
            }
        }
    },
});

hai @pbustosl ,, ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ•ฉ๋‹ˆ๋‹ค! thx...ํ•˜์ง€๋งŒ data1์— ๊ฐ’ 0์ด ์žˆ์„ ๋•Œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ฐ’ 0์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ

๋‹ค์Œ์€ ๊ฐ’์˜ ํ˜•์‹๋„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

data_test_original = ['data1', 10, 100, 1000, 3, 500, 50, 5, 3000]
data_test = ['data1'];
for(var i=1; i<data_test_original.length; i++){
    data_test[i] = Math.log(data_test_original[i]) / Math.LN10;
}

var chart_test = c3.generate({
    size: {
        height: 240,
        width: 480
    },
    data: {
        type:"bar",
      columns: [
        data_test
      ],
      labels : {show:true,
          format: {
              data1 : function(d,id){console.log(id, Math.pow(10,d));return Math.pow(10,d).toFixed(0);}
          }
      }
    },
    axis : {
        y : {
            show:false,
            tick: {
               format: function (d) { return Math.pow(10,d).toFixed(0); }
            }
        }
    },
});

๊ทธ๊ฒƒ์€ ๊ฝค ์ถ”ํ•œ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  d3 ์Šค์ผ€์ผ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

+1 ...๋กœ๊ทธ ์Šค์ผ€์ผ๋กœ ์ฐจํŠธ๋ฅผ ๊ทธ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ ๋‚ด y ์ถ•์„ ๋กœ๊ทธ๋กœ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

์ €๋„ y์ถ•์— ๋กœ๊ทธ ์Šค์ผ€์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค(#2100). ์ด๊ฒƒ์€ 100% ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋งŽ์€ ๊ฒฝ์šฐ์— ์ถฉ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@pbustosl ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‹œ๋„

๊ทธ๋Ÿฌ๋‚˜ ๋ฐ์ดํ„ฐ ๊ฐ’์ด 1์ผ ๋•Œ y์ถ•์€ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด 0์ผ ๋•Œ ์ฐจํŠธ๊ฐ€ ๋ Œ๋”๋ง๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด JSFiddle https://jsfiddle.net/86chryat/ ๋ฅผ ์ฐธ์กฐ

d3.js๋Š” ์ถ•์˜ ๋กœ๊ทธ ์Šค์ผ€์ผ์„ ์ง์ ‘ ์ง€์›ํ•˜๋ฏ€๋กœ c3์— ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ‹ฑ๋„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์ข‹์€ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

๋กœ๊ทธ ์ฒ™๋„๊ฐ€ ์œ ์šฉํ•  ๊ฒƒ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

@masayuki0812 - ์ด๊ฒƒ์„ ๋‹ซ๋Š”๋‹ค๋Š” ๊ฒƒ์€ ์ง€์›์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ธ๊ฐ€์š”? ํŠน์ • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •๋ง ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„/์˜ํ–ฅ์ด ์žˆ๋‹ค๋ฉด ์ ์ ˆํ•œ ํ†ตํ•ฉ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰