디자인킷 · 그래프
브랜드 검색량 대 일반 검색량(막대 + 선)
D-그래프-브랜드대일반검색
언제 쓰는가
시장 전체 수요(일반 키워드)는 큰 변화가 없는데 브랜드를 지목한 검색만 늘었다는 것을 보일 때. 인지 캠페인 성과 근거. 시점 6~12개. 일반 검색은 옅은 막대, 브랜드 검색은 강조색 선. 아래 줄에 전체 대비 브랜드 비중. 값 바꾸는 법: 두 계열 모두 같은 지수 축(0~240) 사용, y = 250 − 지수 ÷ 240 × 220. 칸 폭 = 900 ÷ 시점 수, 막대와 점의 x = 110 + 칸 폭 × 순번 + 칸 폭 ÷ 2, 막대 폭 44. 브랜드 비중 = 브랜드 검색 수 ÷ (브랜드 + 일반 검색 수), 마지막 달만 class va. 선 끝 라벨 두 개의 y 간격이 40px 미만이면 위아래로 벌려 배치.
참고
구글 트렌드(https://trends.google.com)의 검색어 비교 화면과 네이버 데이터랩(https://datalab.naver.com) 주제어 비교의 "같은 지수 축에서 두 흐름 비교" 방식, Storytelling with Data(https://www.storytellingwithdata.com)의 선 끝 직접 라벨 참고. 비중 줄을 축 아래에 붙인 구성은 직접 제작.
조각
<div class="dk dk-brgen"> <div class="dk-card"> <p class="ttl"><span>월별 검색량 지수 · 첫 달 100 기준</span></p> <svg width="1088" height="302" viewBox="0 0 1088 302" role="img"> <line x1="104" y1="250" x2="1010" y2="250" class="ax"/> <text x="92" y="254" text-anchor="end">0</text> <line x1="104" y1="158.3" x2="1010" y2="158.3" class="gr"/> <text x="92" y="162.3" text-anchor="end">100</text> <line x1="104" y1="66.7" x2="1010" y2="66.7" class="gr"/> <text x="92" y="70.7" text-anchor="end">200</text> <rect x="125.5" y="158.3" width="44" height="91.7" rx="3" class="g1"/> <text x="147.5" y="268" text-anchor="middle">10월</text> <rect x="200.5" y="156.5" width="44" height="93.5" rx="3" class="g1"/> <text x="222.5" y="268" text-anchor="middle">11월</text> <rect x="275.5" y="153.8" width="44" height="96.3" rx="3" class="g1"/> <text x="297.5" y="268" text-anchor="middle">12월</text> <rect x="350.5" y="155.6" width="44" height="94.4" rx="3" class="g1"/> <text x="372.5" y="268" text-anchor="middle">1월</text> <rect x="425.5" y="151" width="44" height="99" rx="3" class="g1"/> <text x="447.5" y="268" text-anchor="middle">2월</text> <rect x="500.5" y="147.3" width="44" height="102.7" rx="3" class="g1"/> <text x="522.5" y="268" text-anchor="middle">3월</text> <rect x="575.5" y="149.2" width="44" height="100.8" rx="3" class="g1"/> <text x="597.5" y="268" text-anchor="middle">4월</text> <rect x="650.5" y="144.6" width="44" height="105.4" rx="3" class="g1"/> <text x="672.5" y="268" text-anchor="middle">5월</text> <rect x="725.5" y="141.8" width="44" height="108.2" rx="3" class="g1"/> <text x="747.5" y="268" text-anchor="middle">6월</text> <rect x="800.5" y="143.7" width="44" height="106.3" rx="3" class="g1"/> <text x="822.5" y="268" text-anchor="middle">7월</text> <rect x="875.5" y="140" width="44" height="110" rx="3" class="g1"/> <text x="897.5" y="268" text-anchor="middle">8월</text> <rect x="950.5" y="138.2" width="44" height="111.8" rx="3" class="g1"/> <text x="972.5" y="268" text-anchor="middle">9월</text> <polyline points="147.5,158.3 222.5,154.7 297.5,147.3 372.5,141.8 447.5,129.9 522.5,116.2 597.5,105.2 672.5,93.3 747.5,79.5 822.5,68.5 897.5,53.8 972.5,41" class="ln hot"/> <circle cx="972.5" cy="41" r="6.5" class="dot"/> <text x="1024" y="45" class="va big">228</text> <text x="1024" y="65" class="v">브랜드 검색</text> <text x="1024" y="142.2" class="v big">122</text> <text x="1024" y="162.2">일반 검색</text> <line x1="0" y1="278" x2="1010" y2="278" class="gr"/> <text x="0" y="296" class="k">브랜드 비중</text> <text x="147.5" y="296" text-anchor="middle" class="v">18%</text> <text x="222.5" y="296" text-anchor="middle" class="v">18%</text> <text x="297.5" y="296" text-anchor="middle" class="v">19%</text> <text x="372.5" y="296" text-anchor="middle" class="v">20%</text> <text x="447.5" y="296" text-anchor="middle" class="v">21%</text> <text x="522.5" y="296" text-anchor="middle" class="v">22%</text> <text x="597.5" y="296" text-anchor="middle" class="v">24%</text> <text x="672.5" y="296" text-anchor="middle" class="v">25%</text> <text x="747.5" y="296" text-anchor="middle" class="v">26%</text> <text x="822.5" y="296" text-anchor="middle" class="v">27%</text> <text x="897.5" y="296" text-anchor="middle" class="v">28%</text> <text x="972.5" y="296" text-anchor="middle" class="va">29%</text> </svg> <p class="note">예시 수치는 가상 값 · 실제 집계 값과 출처, 집계 기간으로 교체</p> </div> </div>
스타일
.dk-brgen .dk-card{padding:22px 32px 20px}
.dk-brgen .ttl{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--f-cap);font-weight:600;color:var(--mu);margin:0 0 var(--s3)}
.dk-brgen .lg{display:flex;gap:var(--s4);font-weight:400}
.dk-brgen .lg span{display:flex;align-items:center;gap:6px}
.dk-brgen .lg i{display:block;width:12px;height:12px;border-radius:3px}
.dk-brgen .lg i.c-a{background:var(--ac)}
.dk-brgen .lg i.c-w{background:var(--acw)}
.dk-brgen .lg i.c-s{background:var(--soft)}
.dk-brgen .lg i.c-g1{background:var(--g1)}
.dk-brgen .lg i.c-g2{background:var(--g2)}
.dk-brgen .lg i.c-g3{background:var(--g3)}
.dk-brgen .lg i.c-g4{background:var(--g4)}
.dk-brgen .lg i.c-o{background:none;border:2px solid var(--ac)}
.dk-brgen .lg i.c-e{background:var(--soft);border:1px dashed var(--g3)}
.dk-brgen .lg i.c-t{width:14px;height:3px;border-radius:0;background:var(--ink)}
.dk-brgen .note{font-size:var(--f-cap);color:var(--mu);margin:var(--s3) 0 0}
.dk-brgen svg{display:block}
.dk-brgen svg text{font-family:inherit;font-size:13px;fill:var(--mu);font-variant-numeric:tabular-nums}
.dk-brgen svg .a{fill:var(--ac)}
.dk-brgen svg .aw{fill:var(--acw)}
.dk-brgen svg .sf{fill:var(--soft)}
.dk-brgen svg .g1{fill:var(--g1)}
.dk-brgen svg .g2{fill:var(--g2)}
.dk-brgen svg .g3{fill:var(--g3)}
.dk-brgen svg .g4{fill:var(--g4)}
.dk-brgen svg .ax{stroke:var(--line2);stroke-width:1;fill:none}
.dk-brgen svg .gr{stroke:var(--line);stroke-width:1;fill:none}
.dk-brgen svg .tg{stroke:var(--g3);stroke-width:1;stroke-dasharray:4 4;fill:none}
.dk-brgen svg text.k{fill:var(--ink2)}
.dk-brgen svg text.v{fill:var(--ink);font-weight:600}
.dk-brgen svg text.va{fill:var(--ac);font-weight:700}
.dk-brgen svg text.on{fill:var(--card);font-weight:600}
.dk-brgen svg text.big{font-size:24px;font-weight:700}
.dk-brgen svg text.md{font-size:16px}
.dk-brgen svg .ln{fill:none;stroke:var(--g4);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.dk-brgen svg .ln.hot{stroke:var(--ac)}
.dk-brgen svg .ln.sub{stroke:var(--g2);stroke-width:2}
.dk-brgen svg .dot{fill:var(--ac);stroke:var(--card);stroke-width:2}
.dk-brgen svg .dot.m{fill:var(--g4)}
.dk-brgen svg .dot.s{fill:var(--g2)}
.dk-brgen svg .ol{fill:none;stroke:var(--ac);stroke-width:2.5}
.dk-brgen svg .al{stroke:var(--ac);stroke-width:1.5;fill:none}