다중 (다중 여러 세트의 여러 세트) X 축 데이터 세트로 그래프 생성
-
12-09-2019 - |
문제
x 축에 여러 세트의 데이터 세트가있는 그래프를 생성하는 방법을 찾고 있으며, 각각은 여러 세트의 여러 세트로 나뉩니다. 나는 기본적으로 가져 가고 싶다 이 그래프 그리고 비슷한 그래프를 나란히 놓습니다. 여러 서버 (8 개의 작업을 가진 각 그룹)에서 다른 구성 (0-1)을 사용하여 동일한 작업 (0-3)의 지속 시간 (y 축) 그래프를 그래프로 그래프하려고합니다. 다음 다이어그램이 내가 달성하려는 내용을 설명하기를 바랍니다 (더 작은 그룹화는 파이프로 분리되고 더 큰 파이프로 더 큰 그룹화) :
|| 0 1 | 0 1 | 0 1 | 0 1 || 0 1 | 0 1 | 0 1 | 0 1 || 0 1 | 0 1 | 0 1 | 0 1 || || 0 | 1 | 2 | 3 || 0 | 1 | 2 | 3 || 0 | 1 | 2 | 3 || || Server 1 || Server 2 || Server 3 ||
GD :: Graph Perl 모듈 또는 Matplotlib Python 모듈에서 가능합니까? 이 주제에 대한 예제 나 문서를 찾을 수 없습니다.
해결책
다음은 찾고있는 것을 생성 할 파이썬 코드입니다. (이 예제는 코드가 상당히 일반적인 지 확인하기 위해 2가 아닌 3 개의 구성을 사용합니다.)
import matplotlib.pyplot as plt
import random
nconfigs, njobs, nservers = 3, 4, 4
width = .9/(nconfigs*njobs)
job_colors = [(0,0,1), (0,1,0), (1,0,0), (1,0,1)]
def dim(color, fraction=.5):
return tuple([fraction*channel for channel in color])
plt.figure()
x = 0
for iserver in range(nservers):
for ijob in range(njobs):
for iconfig in range(nconfigs):
color = dim(job_colors[ijob], (iconfig+2.)/(nconfigs+1))
plt.bar(x, 1.+random.random(), width, color=color)
x += width
x += .1
plt.show()
이 코드는 아마도 상당히 투명 할 것입니다. 홀수 용어 (iconfig+2.)/(nconfigs+1)
다른 구성의 색상을 어둡게하는 것이지만 색상을 구별 할 수 있도록 충분히 밝게 유지합니다.
출력은 다음과 같습니다.
제휴하지 않습니다 StackOverflow