2017-12-07 4 views
0

누락 일부 항목지도를 가열한다. 총 19 글자. 4798 숫자가 있습니다. 기본적으로, 나는 내 목록에 4978 * 19 점이있다.하기 matplotlib는 지금 내 데이터는 다음과 같습니다 값

value=[1.15, 0.67, 0.88..........] 

각 값이 내 윈 목록의 문자에 해당합니다

나는 다음과 같습니다 다른 목록을 가지고있다. 즉, 내 가치 목록에 4978 * 19 값이 있음을 의미합니다.

기본적으로 문자에 해당하는 숫자와 y 축에 해당하는 x 축이있는 2D 그리드 플롯이 필요합니다. 각 셀은 값을 나타냅니다. 다른 값을 나타 내기 위해서는 다른 색이 필요합니다. 어쩌면 하나의 색이 값의 범위를 다룰 수도 있습니다. 붉은 색은 1-10을 나타내고, 파란색은 10-20을 나타냅니다. ?? 내가 음모를 꾸미려고하는 것을 더 잘 이해하기 위해서. 나는 시각화 할 음모를 그렸다.

enter image description here

나는 X 축 모델과 y 축에 내 윈 목록을 분할 할 수있다.

x_axis = [1,2,3,.......4978] 

y_axis = ["W", "V", "F", .....] #19 in total 

하나의 문제 내가 너무 많은 숫자를 가지고 있기 때문에 나는 그것에 부딪 힐 수도 있습니다. 줄거리는 거대 해 보입니다. 그래서 어쩌면 나는 하나의 큰 엉덩이 음모를 subplots로 나눌 수 있겠는가 ???

또한 내 값 목록의 일부 항목은 값 [100] = ''또는 값 [101] = '무한대'와 같은 데이터가 누락되었을 수 있습니다. 점은 len (값)이 여전히 4978 * 19와 같습니다. 그래서 나는 또한 불충분 한 데이터를 표현하기위한 색을 원한다.

답변

1

표시 한 내용이 nn 인 경우 해당 값이 순서대로 표시됩니다. 따라서, 난 당신이 2D NumPy와 배열

values = np.array(values).reshape((19, 4978)) 

에 목록을 변환 한 후 plt.imshow(values)를 사용하여 그릴 수 있다고 생각. 예를 들어,

import numpy as np 
import matplotlib.pyplot as plt 

# generate some random values 
values = np.random.random(19*4978).tolist() 

# convert the list to a 2D NumPy array 
values = np.array(values).reshape((19, 4978)) 
h, w = values.shape 

fig, ax = plt.subplots() 
plt.imshow(values) 
plt.colorbar() 
plt.yticks(np.arange(h), list('PNIYLKCVFWABCDEFGHI')) 
ax.set_aspect(w/h) 
plt.show() 
기본 컬러 맵은, viridis, 당신이 그린 예를 로 화려한 아니지만, 일부 very interesting features을 가지고 있음을

enter image description here


. 아마도 가장 은 색상의 "강도"가 단조롭게 증가하는 에 잘 부합한다는 것입니다. 따라서 플롯의 색으로 표현 된 값 을 직관적으로 "판독"할 수 있습니다. 색색 jet 색 맵 또는 1-10-10은 빨간색으로 표시되고 10-20은 파란색으로 색칠 된 것과 같은 색 맵을 사용하는 플롯에 대해서는 동일하지 않습니다. 독자는 컬러 막대 또는 범례를 참조하여 색상과 값 사이의 일치를 확인하십시오.

+0

정말 고마워요 !! 정말 도움이 !! – JY078

+0

질문이 하나 더 있습니다. 데이터가 누락되면 어떻게해야합니까? 값 [0] [0]이 (가) 누락되었습니다. 나는 값 [0] [0] = ''으로 플롯하려했습니다. 하지만 그것은 단지 문자열이 떠 다니는 것을 변환 할 수 없다는 말로 비명을 질렀습니다."불충분 한 데이터"를 나타내는 데 약간의 색상이 필요합니다. – JY078

+0

값 [0] [0] == '', color = 'gray'인 경우와 유사한 내용을 말할 수 있습니까 ?? – JY078

관련 문제