해당 라벨에 해당하는 덴도 그램의 라인 색상을 변경하고 싶습니다. 그러나, 나는 전에 그런 것을 보지 못했습니다. 그래서 적어도 텍스트 라벨의 색상을 변경하고 싶습니다.덴도 그램 플롯의 라벨 및 라인 색상 지정
답변
간단한 해결책이없는 것처럼 보입니다. dendrogram의 레이블은 단순히 y 축 눈금 레이블이며 모두 동일한 color
속성을 공유합니다. 반면에 선은 집합으로 구성되지 않으므로 인접한 노드 사이를 연결하는 모든 선은 하나의 객체입니다. 다음 예는 모든 것을 보여
이제 문제는 색상으로 라인에 대한 특정 목적이 무엇입니까? 주로 수직선으로 무엇을하고 싶습니까?
색칠 lables
이 woraround의 아이디어는 텍스트에 의해 모든 lables를 대체하는 것입니다, 그래서 그들은 saparetly 색깔의 수 :
ax = gca; % get the axes handle
lab = ax.YAxis.TickLabels; % get all the labels
loc = ax.YAxis.TickValues; % get all labels location
[ulab,~,lab_ind] = unique(lab); % find all unique labels
clr = lines(numel(ulab)); % make a color map
for k = 1:numel(ulab) % for every type of lable
ind = strcmp(ulab{k},lab); % find all instances in lab
x = repelem(ax.XAxis.Limits(1)-0.01,sum(ind)); % make an x position vector
% place this lable at the same locations with a distinct color:
text(x,loc(ind),lab(ind),'Color',clr(k,:));
end
ax.YAxis.TickLabels = []; % remove the original labels
% replace the original labels with white space, to keep the axes position:
ax.YAxis.TickLabels = repelem(' ',max(cellfun(@numel,lab)));
첫 번째 수준의 줄을 색칠
아이디어는 비슷합니다 - 현재 줄 위에 레이블의 동일한 색상으로 한 줄을 배치하십시오. 노드는 나중에 처리됩니다. 그래서 당신은하지 않습니다,
ax = gca; % get the axes handle
X = get(ax.Children,'XData'); % Get x values of all lines
Y = get(ax.Children,'YData'); % Get y values of all lines
이 (당신도 그렇게하도록 선택하는 경우) 컬러 라벨을 추가하기 전에 수행해야합니다 :
첫째, 우리는 그림에서 모든 좌표 데이터를 수집해야 오류가 발생합니다.
그런 다음 y 축 틱 값 (즉, 정수 y 데이터 있음)에 배치 된 경우 선을 반복하여 색칠 할 수 있습니다. 리콜 각 line
객체가 기본적으로 3 개 연결 라인이다 (그리고 미리 알림에 대한 picture above 볼), 그래서 우리는 첫 번째와 마지막 줄에보고 싶은 :
for k = 1:numel(Y)
if Y{k}(1)==fix(Y{k}(1))
line(ax,X{k}(1:2),Y{k}(1:2),'Color',clr(lab_ind(Y{k}(1)),:),...
'LineWidth',2);
end
if Y{k}(3)==fix(Y{k}(3))
line(ax,X{k}(3:4),Y{k}(3:4),'Color',clr(lab_ind(Y{k}(3)),:),...
'LineWidth',2);
end
end
clr
및 lab_ind
위의 코드에서 가져옵니다 (레이블 용), 선을 명확하게하기 위해 약간 더 두껍게 만들었습니다.
결과는 다음과 같습니다
안녕하세요. 고마워요. 색소 라벨은 제가 찾고있는 것입니다. 선들이 라벨과 같은 색깔을 지니게하는 것이 가능한가? – Excalibur
@Excalibur 내가 위에서 쓴 것처럼 선을 채색하여 무엇을 의미하는지 더 엄격하게 정의해야합니다. 가장 좋은 방법은 생각을 설명하는 몇 가지 예를 제시하는 것입니다. 어쨌든 라벨을 색칠하는 것이 더 복잡 할 것입니다. – EBH
예를 들어, 두 번째 그림에서 처음 세 줄은 주황색입니다. 네 번째 줄 파란색; 다섯 번째 노란색; 여섯 번째 보라색 등등. 두 선이 같은 색으로 병합되면 병합 후 선은 그 색을 유지합니다.두 줄의 색이 다른 경우 병합 후 줄이 검은 색이됩니다. 다시 한 번 감사드립니다! – Excalibur
- 1. 레이블에 기반한 재주문 및 색상 덴도 그램
- 2. 파이썬 플롯의 라벨 범위와 색상
- 3. 플롯의 색상 지정
- 4. ggplot2 라인 플롯의 색상 및 선형을 여러 열로 매핑하는 방법
- 5. MATLAB 표면 플롯의 특정 점 색상 지정
- 6. JavaFX에서 라인 색상 지정 및이 색상 변경하기
- 7. 밑줄을 사용하여 덴도 그램 플롯에서 가지를 색칠하는 기능 R
- 8. matplotlib 플롯의 라벨 텍스트 및 빈도
- 9. GNUPLOT의 라인 플롯에 따른 라벨
- 10. 플롯의 평균 결과 라인
- 11. 플롯의 색상 쉐이드 제어
- 12. r 플롯의 색상 제어
- 13. 히트 맵 덴도 그램 클러스터링에 대한 이해 R
- 14. 이미지 영역에 라벨 지정
- 15. SSRS 라인 그래프 용 사용자 지정 색상
- 16. 멀티 라인 플롯의 축 전환
- 17. 플롯의 다중 라인 y 레이블
- 18. 스파크 라벨 롤오버 색상
- 19. matplotlib 바이올린 플롯의 색상 변경
- 20. 매트 플롯의 색상 그라디언트가있는 화살표
- 21. iOS 다중 라인 라벨 NSLineBreakByTruncatingTail
- 22. ggrepel 라벨 채움 색상 질문
- 23. y 축 변경 코어 플롯의 라벨 간격
- 24. 축 설정 코어 플롯의 라벨 간격 띄우기
- 25. 박스 플롯의 외곽 라벨 크기 변경 R
- 26. 이미지 플롯의 사용자 지정 배율?
- 27. 있는 gridview 라벨 색상 변경
- 28. Google Charts API 라벨 라인
- 29. MIPS 라벨 주소 지정?
- 30. Anystock - Scroller 선택된 라벨 색상
은 바람직하게는 원하는 출력의 일러스트와 함께, 당신의 정확한 필요로 질문을 명확히하십시오. – EBH