;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> de leeblos2 theta=2*!PI*findgen(361)/360 cLabel=['A','B','C','D','K','L','Q','S','T','X','V'] ;diferente de taxo??? cColor=['Sienna' , $ ;-- A 'Gray' , $ ;-- B 'Charcoal' , $ ;-- C 'Dark Gray' , $ ;-- D 'Green' , $ ;-- K 'Navy', $ ;-- L 'Orange' , $ ;-- Q 'Cornflower blue', $ ;-- S ; 'PUR8' , $ ;-- T NO HAY 'Magenta' , $ ;-- X 'Red' ] ;-- V ; cada tipo individual cSymb =['Filled circle' , $ ;-- A 'Filled circle', $ ;-- B 'Open circle', $ ;-- C 'Filled circle', $ ;-- D 'Open circle', $ ;-- K 'Open square', $ ;-- L 'Filled star', $ ;-- Q 'Open square', $ ;-- S ; 'Star' , $ ;-- T NO HAY 'Open diamond', $ ;-- X 'Filled Circle' ] ;-- V SSymb =[ 0.8 ,$ ;-- A 0.8 ,$ ;-- B 0.8 ,$ ;-- C 0.8 ,$ ;-- D 0.8 ,$ ;-- K 0.8 ,$ ;-- L 1.5 ,$ ;-- Q 0.8 ,$ ;-- S ; 1.5 ,$ ;-- T NO HAY 0.8 ,$ ;-- X 0.8 ] ;-- V ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< datos='(I,A,A,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F)' data='(A,A,F,F,F,I,I,F,F,F,I,I,F,F,F,I,I,F,F,F,I,I,F,F,F,I,I,F,F,F,I,I)' readcol, 'MOVIS-C.csv',f=datos,num,name,classOb,YmJ,YmJerr,YmJtm,$ ;classOb es tipo de obj Orb Dynam YmH,YmHerr,YmHtm,$ YmK,YmKerr,YmKtm,$ JmH,JmHerr,JmHtm,$ JmK,JmKerr,JmKtm,$ HmK,HmKerr,HmKtm,$ delimiter=',' good1 = where( YmH ne -99.99 and YmK ne -99.99 ) qYmK = createBoxPlotData( transpose( [ [YmH[good1]],[ymK[good1]] ] ) ) ; a ver boxes = BOXPLOT(qYmK, XTITLE="", YTITLE="YmK" );??? ; \\\\\\\\\\\\\\\\\\\\\\\\\\\ good2 = where( JmH ne -99.99 and JmK ne -99.99 ) qJmK = createBoxPlotData( transpose([[JmH[good2]],[JmK[good2]]]) ) ; a ver boxes = BOXPLOT(qJmK, XTITLE="", YTITLE="JmK" );??? ; a ver ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ good3 = where( JmK ne -99.99 and HmK ne -99.99 ) qHmK = createBoxPlotData( transpose([[JmK[good3]],[HmK[good3]]]) ) ; a ver boxes = BOXPLOT(qHmK, XTITLE="", YTITLE="HmK" );??? ; a ver a ver ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ; stop readcol, 'bdm-col.csv',f=data,clas,ID,YmeJ,dYmeJ,YmeJDt,NsY,NsJ,$ YmeH,dYmeH,YmeHDt,NsY,NsH,$ YmeKs,dYmeKs,YmeKsDt,NsY,NsKs,$ JmeH,dJmeH,JmeHDt,NsJ,NsH,$ JmeKs,dJmeKs,JmeKsDt,NsJ,NsKs,$ HmeKs,dHmeKs,HmeKsDt,NsH,NsKs,$ delimiter=',' ; esto anhadido al leeMOVIS.pro con function de Benoit -> c=vistaReadMOVIS( 'MOVIS-C.csv' ) ; valid=where( c.YmJ.val ne -99.99 and c.JmK.val ne -99.99 ) ;;;? ; cgPlot, c[valid].YmJ.val, c[valid].JmK.val, psym=3 ; esto anhadido al leeMOVIS.pro con function de Benoit <- filters=['Y', 'J', 'H','Ks'] nbFilt=n_elements(filters) nbComb = factorial(nbFilt)/ ( 2*factorial( nbFilt-2 )) comp=[[YmeJ],[YmeH],[YmeKs],[JmeH],[JmeKs],[HmeKs]] ; col=[[YmJ],[YmH],[YmKs],[JmH],[JmKs],[HmKs]] col=[[YmJ],[YmH],[YmK],[JmH],[JmK],[HmK]] ; no hay Ks ;help, comp ;stop ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& label=['Y-J','Y-H','Y-Ks','J-H','J-Ks','H-Ks'] ; nbComb, 6 opciones <-traido de leeblos2 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cgPlot, YmeJ, JmeKs, color='red' , psym=4, $ xtitle= 'Y-J', $ ytitle= 'J-Ks', $ title= 'MOVIS & BdM' ;---select points with error below 0.10 mag errLow010 = where( abs(YmJerr) le 0.10 and abs(JmKerr) le 0.10 ) cgPlot, /OverPlot, YmJ[errLow010], JmK[errLow010], color='blue' , psym='open circle' ; esto es de MOVIS no hay JmKs, solo JmK cgPlot, /OverPlot, YmeJ, JmeKs, color='red', psym='filled circle' ;-BDM again, on top ;******************************* taxo = ['S','C','V',$ 'D','X','K', $ 'L','A','B','Q'] ; con Q, no hay T color= ['Red','Gray','Orange',$ 'Green', 'Light gray', 'Purple', $ 'Royal blue', 'Black', 'Dark gray', 'Slate Gray' ] nClas = n_elements(taxo); print, '' print, 'numero de clases taxonomicas:', nClas print, '' stop ;/--- AQUI tu hacias un nClas,4... cuando hay nbComb =6 meanArr = fltarr(nClas,nbComb) stdArr = fltarr(nClas,nbComb) for i=0, nClas-1 do begin ; print, Taxo[i] placeCl = where( clas eq taxo[i], nbCl) print, ' ['+Taxo[i]+'] ', nbCl for j=0, nbComb-1 do begin ;--- aqui tu hacias comp[j,i] --> era un FLOAT y no un ARRAY meanArrCl = [ mean( comp[placeCl,j] ) ] stdArrCl = [ stddev( comp[placeCl,j] ) ] ;---igual aqui tu indices eran equivocados meanArr[i,j] = meanArrCl stdArr[i,j] = stdArrCl endfor endfor ;variable undefined YMKS.? print, 'meanArr' print, meanArr print, '' print, 'stdArr' print, stdArr ;stop ; continuara... nObj = n_elements(num) ; esto es el numero de objetos de MOVIS print, '' print, 'numero de asteroides de MOVIS:', nObj ;nClas = n_elements(clas) ;for i=0, nObj-1 do begin ; for j=0, ;endfor stop ;;;;;;;;;;;; ;;;; hacer loop sobre combinaciones >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;estas dos lineas de abajo para controlar que esten todos los colores: ; if ( YmJ ne -99.99 and YmH ne -99.99 and YmK ne -99.99 and JmH ne -99.99 and JmK ne -99.99 and HmK ne -99.99) then begin ;+++++????? ; endif ;++++?????????????????????????????? for j=0, nbComb-1 do begin for j2=j+1, nbComb-1 do begin ; Larg[i,j] = [meanArr[i,j] - stdArr[i,j], meanArr[i,j] + stdArr[i,j]] ;#################3 lonX = [ meanArr[*,j]-stdArr[*,j], meanArr[*,j]+stdArr[*,j] ] lonY = [ meanArr[*,j2]-stdArr[*,j2], meanArr[*,j2]+stdArr[*,j2] ] ; cgPlot, meanArr[*,j], meanArr[*,j2], /NoData, $ cgPlot, lonX, lonY, /NoData, $ xTitle=label[j], yTitle=label[j2] for i=0, nClas-1 do begin ; x cada clase buscr los obj que corresponden cur=where( strcmp(clas,taxo[i]) ) cgPlot, /over, col[cur,j], col[cur,j2] , psym=cSymb[i], color=cColor[i], symSize=sSymb[i] endfor for i=0, nClas-1 do begin ;plot de tods los colores individuales de bdm cgPlot, meanArr[i,j]+stdArr[i,j]*cos(theta), $ meanArr[i,j2]+stdArr[i,j2]*sin(theta), color=cColor[i], /over cgErrPlot, meanArr[i,j], color=cColor[i], $ meanArr[i,j2]-stdArr[i,j2], meanArr[i,j2]+stdArr[i,j2] cgErrPlot, meanArr[i,j2], color=cColor[i], meanArr[i,j]-stdArr[i,j], $ meanArr[i,j]+stdArr[i,j], /horizontal ; cgPlot, /over, meanArr[kT2,kX], meanArr[kT2,kY], psym='Filled Circle', symSize=1.5, color=cColor[kT2] cgText, meanArr[i,j]+stdArr[i,j]*0.3, $ meanArr[i,j2]+stdArr[i,j2]*0.3, taxo[i], color=cColor[i] endfor stop endfor ;stop ; endfor ;endfor ;;;;;;;;;;;;;;;;;hacer loop sobre combinaciones &&&&& <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;----------------------------------------** VER **-------------------------------------------------------- ;revisar esto luego debo hacerlo sobre MOVIS, no sobre BdM for i=0, nObj-1 do begin ; nObj es el # de obj de MOVIS distArr=fltarr(nClas) for j=0, nClas-1 do begin ; sobre todas las clases taxonomicas... nClas= 10 a=0 nUSe = 0 for k=0, nbComb-1 do begin ; sobre todas las combinaciones... nComb=6 c = meanArr[j,k] ;j de 0 a 9 , k de 0 a 5 sc = stdArr[j,k] ;antes>> if col[i,k] ne 0 then begin ; diferencia de colores de MOVIS ;agora if col[i,k] ne -99.99 then begin ; diferencia de colores de MOVIS << agora a+= ( (col[i,k]-c)/sc )^2 ;coli existe? uno de ellos cero? nUse++ ; incremento de 1 endif endfor tot=sqrt(a/nUse) distArr[j] = tot endfor order = sort( distArr ) print, '' print, i, ' ['+clas[i]+'] ',taxo[order] ; print, i, num[i] , ' ['+clas[i]+'] ',taxo[order] print, distArr[order] ;help, dc, dcCl ; dc(i,*) = dcCl ;stop ; print, dc endfor ;-------------------------------------**VER**------------------------------------------------------- end end