모듈:도트 차트

Module

현지의 p = {} 현지의 취득하다 = 요구하다("모듈:인수").취득하다 현지의 네, 아니요 = 요구하다('모듈:네, 아니요.)  -------------------------------------------------------------------------------- ----------- P . D O T S --------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------  기능. p.데이터.()                                                          -- 그래프의 데이터를 반환합니다.  현지의 args = 취득하다()  -- 도트 관련  현지의  = {}  현지의 x표 = {}  현지의 x카운트 = 0  현지의 y카운트 = 0  현지의 isx;  현지의 도트 테이블 = {}  현지의 x;  -- 색상 관련  현지의 컬러 테이블 = {}  현지의 숫자;  현지의 color Time(컬러 타임);  -- X 라벨 관련  현지의 x라벨 = {}  현지의 xLCunt = 0  -- Y라벨 관련  현지의 라벨 = {}  현지의 실행 = 0   한다면 네, 아니요(args["yx"]) == 진실의 그리고나서   isx = 거짓의  또 다른   isx = 진실의  끝.    한다면 args["x개의 라벨"] 그리고나서                                                    -- xLabels 작성   위해서 스트레이트 에서 string.gmatch(args["x개의 라벨"], "([^,]+)") 하다          table.insert(x라벨,스트레이트)          xLCunt = xLCunt+1      끝.  끝.    한다면 args["y 라벨"] 그리고나서                                                    -- y라벨 작성   위해서 스트레이트 에서 string.gmatch(args["y 라벨"], "([^,]+)") 하다    table.insert(라벨,스트레이트)    실행 = 실행+1      끝.  끝.    한다면 args["실패"] 그리고나서                                                        -- 점으로 xTable을 만듭니다.   현지의 i = 0   현지의 j = 0      위해서 k,v 에서 쌍들(args) 하다    한다면 string.match(k,%d+)     그리고. 것은 아니다. string.match(k,"color%") 그리고나서     table.insert(,v)     y카운트 = y카운트+1    끝.   끝.      현지의  = y카운트 / 톤수(args["실패"])      한다면  ~= math.floor() 그리고나서    돌아가다 table.concat({'<span style="class-size:100%" class="error"y 파라미터의 양('),y카운트,') parameter 파라미터 도트('),args["실패"],')는 정수(')가 아닙니다.,,') </span>})   끝.      하는 동안에(>i) 하다    현지의 x값 = ((100/*i)+(100//10))*1.1    i=i+1    하는 동안에(톤수(args["실패"])>j) 하다     j=j+1     table.insert(x표,x값)     x카운트 = x카운트 + 1    끝.    j=0   끝.  또 다른                                                                        --arg를 yTable과 xTable로 나눕니다.   위해서 k,v 에서 쌍들(args) 하다                                                   한다면 string.match(k,%d+)     그리고. 것은 아니다. string.match(k,"color%") 그리고나서     한다면 isx == 거짓의 그리고나서      table.insert(,v)      y카운트 = y카운트 + 1      isx = 진실의     그렇지 않으면 것은 아니다. args["실패"] 그리고나서      table.insert(x표,v)      x카운트 = x카운트 + 1      isx = 거짓의     끝.    끝.   끝.  끝.    한다면 x카운트 < > y카운트 그리고나서                               돌아가다 table.concat({'<span style="class-size:100%" class="error"x값의 양('),x카운트,')가 숫자 y 값(')보다 작습니다.,y카운트,') </span>})  그렇지 않으면 x카운트 > y카운트 그리고나서   돌아가다 table.concat({'<span style="class-size:100%" class="error"x값의 양('),x카운트,')는 숫자 y 값(')보다 큽니다.,y카운트,') </span>})  끝.    한다면 args["컬러 밸런스"] 그리고나서                                                  -- color-even이 설정되어 있는 경우 colorTable을 만듭니다.   color Time(컬러 타임) = 거짓의   위해서 k,v 에서 쌍들() 하다    한다면 color Time(컬러 타임) == 진실의 그리고나서     컬러 테이블[k] = args["컬러 밸런스"]     color Time(컬러 타임) = 거짓의    또 다른     color Time(컬러 타임) = 진실의    끝.   끝.  끝.    한다면 args["색깔이 이상하다"] 그리고나서                                                   -- color-odd가 설정되어 있는 경우 colorTable을 만듭니다.   color Time(컬러 타임) = 진실의   위해서 k,v 에서 쌍들() 하다    한다면 color Time(컬러 타임) == 진실의 그리고나서     컬러 테이블[k] = args["색깔이 이상하다"]     color Time(컬러 타임) = 거짓의    또 다른     color Time(컬러 타임) = 진실의    끝.   끝.  끝.    위해서 k,v 에서 쌍들(args) 하다                                                   -- color-# 가 설정되어 있는 경우 colorTable 에 값을 추가합니다.   한다면 k == .스트링.경기(k,"color%-%d+") 그리고나서    숫자 = .스트링.서브(k,"color%","")    숫자 = 톤수(숫자)    컬러 테이블[숫자] = v   끝.  끝.    위해서 k,y 에서 쌍들() 하다                                                 -- dotTable을 만듭니다.   현지의 이너Div = .html.만들다('div')   현지의 나누다 = .html.만들다('div')   현지의 크기;    한다면 args['사이즈"] 그리고나서    크기 = 톤수(.스트링.경기(args['사이즈"],"%d+"))   또 다른    크기 = 8   끝.   x = x표[k]   이너Div    :css('위치','절대')    :css('위',table.concat({'-',크기/2,'px'}))    :css('왼쪽,table.concat({'-',크기/2,'px'}))    :css('라인 높이','0')    :위키텍스트('[파일:위치 점',컬러 테이블[k] 또는 '빨간색','.devgg',크기,'x',크기,'px]])   나누다    :css('위치','절대')    :css('하단',table.concat({y*0.85+15,'%'}))    :css('왼쪽,table.concat({x*0.85+15,'%'}))    :위키텍스트(스트링(이너Div))   table.insert(도트 테이블,스트링(나누다))  끝.    위해서 k,v 에서 쌍들(x라벨) 하다   현지의 나누다 = .html.만들다('div')   나누다    :css('위치','절대')    :css('하단','0%')    :css('왼쪽,table.concat({((100/xLCunt*k-100/xLCunt)*0.85+15)-4,'%'}))    :위키텍스트(v)   table.insert(도트 테이블,스트링(나누다))  끝.    위해서 k,v 에서 쌍들(라벨) 하다   현지의 나누다 = .html.만들다('div')   나누다    :css('위치','절대')    :css('하단',table.concat({(((((100/실행*k-100/실행)-(100/실행/3))+5))+100/실행/2)*1.02,'%'}))    :css('왼쪽,'0%')    :위키텍스트(v)   table.insert(도트 테이블,스트링(나누다))  끝.    돌아가다 table.concat(도트 테이블) 끝.  ----------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------  현지의 기능. 범례(args)  현지의 색.;  현지의 a값;  현지의 테이블 = {}  위해서 k,v 에서 쌍들(args) 하다                                                   -- 테이블에 값을 추가합니다.   한다면 k == .스트링.경기(k,"12%-%a+") 그리고나서    색. = .스트링.서브(k,"140%","")    v = table.concat({'<div>[파일:위치 점',색. 또는 '빨간색','.twg 8x8px] ('),색.,') = ',v,'/div>'})    table.insert(테이블,v)    a값 = 진실의   끝.  끝.  한다면 a값 == 진실의 그리고나서   돌아가다 table.concat(테이블)  또 다른   돌아가다 ""  끝. 끝.  -------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------- --------------------------------------------------------------------------------  기능. p.그래프()                                                   -- 점이 있는 그래프를 반환합니다.  한다면 .스트링.경기(p.데이터.(),"<스판") 그리고나서                             -- p.data에서 오류 메시지를 반환합니다.   돌아가다 p.데이터.()   끝.     현지의 args = 취득하다()  현지의 사진. = "Blank.png"  현지의 나누다 = .html.만들다('div')  현지의 중심 = .html.만들다('div')  현지의 컨테이너. = .html.만들다('div')  현지의 정상 = .html.만들다('div')  현지의 크기;   한다면 args['사이즈"] 그리고나서   크기 = 톤수(.스트링.경기(args['사이즈"],"%d+"))  또 다른   크기 = 8  끝.    한다면 args['폭'] 그리고나서   한다면 args['폭'] == .스트링.경기(args['폭'],"%d+") 그리고나서    args['폭'] = table.concat({args['폭'],'px'})   끝.  끝.   한다면 args["화상"] 그리고나서                                                     -- 로컬 사진 설정   사진. = args["화상"]  그렇지 않으면 네, 아니요(args["사각형"]) == 진실의 그리고나서   사진. = "투명.png"  끝.    사진. = .스트링.서브(사진.,' .+','')  사진. = .스트링.서브(사진.,'.-:','')    한다면 p.데이터.() == "" 그리고나서                                                 -- 비어 있는 경우 상자를 만들지 않습니다.   돌아가다 ""  끝.     한다면 args["상부"] 그리고나서   정상                                                                     -- 톱텍스트 작성    :css('중량',굵다)    :css('텍스트 장식','밑줄')    :css('텍스트 정렬','중앙')    :위키텍스트(args["상부"])  끝.    컨테이너.                                                                   -- 컨테이너를 만듭니다.   :css('폭,args['폭'] 또는 '240px')   :css('실패','맞다')   :css('위치','실패')   :위키텍스트('[[파일:],사진.,' ',args['폭'] 또는 '240px',']]')   :위키텍스트(p.데이터.())  나누다                                                                         -- [ Creates ]박스를 만듭니다.   :css('폭,args['폭'] 또는 '240px')   :css('디스플레이','블럭')   :css('실패',args[정렬] 또는 '맞다')   :css('실패',args["실패"] 또는 '2px')   :css('실패',args["실패"] 또는 table.concat({크기/2,'px'}))   :css('배경',args["컬러"] 또는 '없음')   :위키텍스트(스트링(정상))   :위키텍스트(스트링(컨테이너.))   :위키텍스트(범례(args))   :위키텍스트(args['하단'])     한다면 네, 아니요(args['경계']) ~= 거짓의 그리고나서                                      -- 상자 테두리를 만듭니다.   나누다    :css('보더 스타일','솔리드')    :css('보더 컬러','검은색')    :css('경계폭','3px')  끝.     한다면 args[정렬] == '중앙' 그리고나서                                           --필요에 따라 출력을 집중시킵니다.   중심    :클래스 추가('중앙')    :css('폭,'자동)    :css('좌회전','자동)    :css('오른쪽','자동)    :위키텍스트(스트링(나누다))   돌아가다 중심                                                     또 다른   돌아가다 나누다  끝. 끝.  돌아가다 p