'Research Topics/Visualizing Data'에 해당되는 글 3건

  1. 2008.10.28 [081025] 세미나 내용 -Chapter 6. Scatterplot Maps 2
  2. 2008.10.12 [081011] 세미나 내용 - Chapter 4. Time Series 2
  3. 2008.10.07 [081006] 세미나 내용 - Chapter 3. Map 1
Overview
1.preprocessing
     (Data is always dirty, and once you’ve found your data set, you’ll need to clean it up.)
2.Loading the Data (Acquire and Parse)
     (A single location will be defined using a second class named Place.)
3.Drawing a Scatterplot of Zip Codes (Mine and Represent)
     (After parsing your data, you must give some consideration to how the data is mapped to the screen.)
4.Highlighting Points While Typing (Refine and Interact)
     (the focus is now to add interaction so that users can explore how the postal codes relate to          
     geography./The refinement stage begins with choosing a set of colors.)
5.Show the Currently Selected Point (Refine)
    (we’ll show the location of a fully typedout, five-digit zip code as a rectangle and add text to its    
     upper-right corner that names the location.)
6.Progressively Dimming and Brightening Points (Refine)
     (a class called ColorIntegrator does the same, but interpolates between two colors. Instead of a    
     float, the ColorIntegrator.target( ) method takes a color.)
7.Zooming In (Interact)
     (the crux of the representation is the map( ) function, which remaps a series of coordinates (with a   
      predefined range) to a specific location on the screen (with a new range))
8.Changing How Points Are Drawn When Zooming (Refine)
     (points should become larger as more digits are typed.)
9.Deployment Issues (Acquire and Refine)
     ( A better alternative is to use the built-in Thread class to load the data asynchronously.)
10.Next Steps
     (several directions in which to take this project.)

Detail
1.DBF file을 받아 데이터를 정리하는 방법
1차 DBF->excel/open office 로 열기->CSV,TSV로 저장->
2차 ->PROCESSING+FITS+CSV(TSV) WITH 8 ISSUES->최종결과치->최종 CLEANED FILE 얻기

2,새로운 텝을 열어 place class를 만들기
pasing을 위해 readData( ) parseInfo( )parsePlace( ) method 이용하기
readData( )->데이터 읽어들이기
parseInfo( )->데이터 파일의 첫번째 single line 분석 with comma (파일개수/위도,경도의 최대 최소값)
parsePlace( )->나머지 single line 분석 with tap

3.map()을 이용하여 stage 내 특정 영역에 데이터 뿌리기

4.입력 텍스트와 관련한 변수,method, array 지정/ keypress handling /depth 와 color를 입력 텍스트 상태에 따라서 match 시키기

char typedChars[] = new char[5];  letters typed
int typedCount; number of digits entered.
float messageX, messageY;  location where the text should...
int foundCount; number of locations currently selected.

keyPressed( )

typedPartials[typedCount]
입력되는 코드들을 10으로 나누고 그 몫을 취하여 인식하도록 함
for (int j = typedCount-1; j > 0; --j) {
typedPartials[j] = typedPartials[j + 1] / 10;
}

int partial[];
int matchDepth;

check()

5.default로 chosen을 null시키고 null이 되지 않았을 때 선택된 점들을 rect()로 그려주는 코드 지정
최종 셀렉트 된 point와 일치하는 지점 위에 텍스트가 위치하는 방식 정의
외곽 등에 존재하는 놈들은 이상하게 보이지 않도록  additional rule 지정



6.입력값과 정확하게 match되는 point만 highlight(target=highlight color) 해주고 나머지는 모두 dimmed(target=unhighlight color) 시키기


7. zoom 상태에 따라서 remap하기
When zoom is not enabled, the horizontal coordinate of a location
on screen is calculated by using map( ) to convert the value from the range minX
to maxX into the range mapX1 to mapX2. When zooming, we replace minX and maxX with
the minimum and maximum values that we want to be visible onscreen.

if (zoomEnabled) {
return map(x, zoomX1.value, zoomX2.value, mapX1, mapX2);
} else {
return map(x, minX, maxX, mapX1, mapX2);
}


void calcZoom( ) {
}

8.depth에 따라서 점의 크기가 변함.


9.온라인 상의 효율성을 증가시키기 위해 data를 load하는 것을 별도 class로 만들기

class Slurper{
public void run( ) {
}
 }

void readData( ) {
new Slurper( );
}

10.next stap
이번 쳅터의 시스템을 기본으로 하여 그 밖의 다양한 데이터 및 방식으로 접근할 수 있습니다.
Germany and the UK 의 zip code
town names/migration patterns
street names
area codes
other questions
additional data sets—whether satellite photography, geographicboundaries, interstate highways,
or map images.


그리고..have fun!!!!!!!!!...이라네요..^^;
Posted by chacolina

Chapter 4. Time Series
• Acquiring a table of data from a text file
• Parsing the contents of the file into a usable data structure
• Calculating the boundaries of the data to facilitate representation
• Finding a suitable representation and considering alternatives
• Refining the representation with consideration for placement, type, line weight, and color
• Providing a means of interacting with the data so that we can compare variables
  against one another or against the average of the whole data set

• 데이터 구간설정을 위해 읽어들인 데이터의 최대/최소를 구하는 방법, MIN_FLOT, MAX_FLOAT
• 읽어들인 데이터를 map을 사용하여 디스플레이의 플롯(plot)에 매핑하기
• Labeling
• createFont() 를 이용한 시스템 폰트 사용
• 키보드 입력을 통한 화면 전환
• Too many labels make the diagram look like graph paper, and too few suggests that
   only the minimum and maximum values need to be shown.


• % 연산자 (modulo : 나누기 나머지 구하기) - 반복적인 무언가를 할때 활용 가능 
   if (data % 7 == 0) {
           // 여기서 무언가 할일 작성 하면 7의 간격으로 실행됨
   }

• Grid 를 제공하여 가독성 높이기
• Vertex 사용하기
       beginShape( );
       vertex(10, 10);
       vertex(90, 30);
       vertex(40, 90);
       vertex(50, 40);
       endShape();    -> endShape(CLOSE); 하면 구간이 닫히고 면적으로 표시됨

• 특정 점에서 Mouse rollover 사용하기 - dist 활용
       if (dist(mouseX, mouseY, x, y) < 3) {
               // rollover 시 동작 작성
       }


• Integrator class 를 이용한 부드러운 데이터 전환
Posted by 알 수 없는 사용자

Chapter 1. The Seven Stages of Visualizing Data
- characteristics of a data set
- data is a moving target
- Great information visualization never starts from the standpoint of the data set; it starts with questions. 
   Why was the data collected, what’s interesting about it, and what stories can it tell?

   The most important part of understanding data is identifying the question that you want to answer.
- The more specific you can make your question, the more specific and clear the visual result will be.
- Proper visualization is a kind of narrative, providing a clear answer to a question without extraneous
   details.
- Each Project Has Unique Requirements
- Who is your audience? What are their goals when approaching a visualization?

Chapter 3. Mapping
- 외부에서 데이터를 읽어들이고, 가공하고, 목적에 맞게 사용하는 과정을 공부했습니다.
   여기서는 .tsv 라는 저자가 직접 만든 데이터 파일을 다루었고, 우리가 앞으로 주로 다룰 데이터는 이렇게 
   컴퓨터에 파일로 있는것도 있을 수 있지만, 음악파일, 책 텍스트파일 등을 비롯해 인터넷상에서 얻어지는
   데이터들, XML 형식 등 무궁무진하게 다양합니다.
   그러나 DB이던 파일이던 XML 이던 데이터 형식이 어떻든 간에, 우리는 일단 최초에 할일이 읽어들일 
   데이터를 우리의 목적에 맞게 잘라내고 가공해야 한다는 건 공통적입니다.

- 데이터베이스(Database) 와 클래스(Class)에 관한 간략한 설명.
- 이 챕터에서는 저자가 작성해놓은 Table 이라는 데이터를 모델링한 class를 사용하여 데이터를 저장/관리.
- 데이터를 가공할때 자주쓰는 주요 함수(function) 를 공부함
   map / norm / lerpColor
- 음/양 부호와 크기를 가지는 데이터를 효과적으로 표현하기 위한 여러가지 방법 시도(크기, 색, 투명도 등등)
- 마우스를 통한 사용자 interaction 요소 추가
- 수치 표시할때 자주쓰는 함수 공부 (자리수)
   nf / nfp
- 저자가 만든 Integrator 라는 class 를 활용하여 좀더 값이 부드럽게 변하도록 시도 
  (이 클래스도 다른곳에서 활용 가능할듯)

Homework
- 각자 Flickr 의 API 사이트를 방문에서 어떤 종류의 프로그램언어로 API 를 제공하고 있고, 제공하는 
   데이터의 모양은 어떻게 생겼는지 알아보기.
   주소 http://www.flickr.com/services/api/

- 이번 챕터에 나왔던 Processing 코드들 실행해보고 이해하기.
Posted by 알 수 없는 사용자