2017-02-15 1 views
-5

Je veux faire quelques changements dans le complot fait par mon aîné, en Java. Et puisque je ne connais pas cette langue, je veux le faire dans Matlab. J'ai joint à la fois les données (format texte) et l'intrigue ici. C'est la sortie de l'échéancier du projet où la valeur représente le coût associé à la tâche (lien) et leur continuation dans le temps (disons que la tâche 2 est effectuée du 6e au 9e mois et que le coût est de 0,665 m $).Parcelle de calendrier de projet dans Matlab

La valeur 0 indique qu'il n'y a pas de travail pendant cette période pour une tâche particulière (ligne). L'intrigue en Java, montre la variation en temps et en coût pour chaque tâche.

J'ai essayé de faire un genre similaire d'intrigue (barre dans le cas des cercles) dans Matlab mais je n'ai pas pu.

java plot

Link# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
1 0 0 0 0 0 0 0 0 0 0 0 0 0.34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
2 0 0 0 0 0 0.665 0.665 0.665 0.665 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
3 0 0 0.34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
4 0.36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
5 0.14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
6 0 0 0 0 0 0 0 0 0 0 0.58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
7 0 0 0 0.57 0.57 0.57 0.57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
8 0.64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
9 0.58 0.58 0.58 0.58 0.58 0.58 0.58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
10 0.24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
11 0.56 0.56 0.56 0.56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
12 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
13 0 0 0 0 0 0 0 0 0.56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.62 0 0 0 0 0 0 0 0 0 0 0 
15 0 0 0 0.582857143 0.582857143 0.582857143 0.582857143 0.582857143 0.582857143 0.582857143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
16 0.536 0.536 0.536 0.536 0.536 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
17 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
18 0 0.6 0.6 0.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
19 0 0 0 0 0.0000 0 0 0 0 0 0 0 0.606666667 0.606666667 0.606666667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
20 0 0 0 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0.633333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
21 0 0 0.606666667 0.606666667 0.606666667 0.606666667 0.606666667 0.606666667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
22 0 0 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0.643076923 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
23 0 0 0 0 0 0 0 0.58 0.58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
24 0 0 0 0 0 0 0 0 0 0.651428571 0.651428571 0.651428571 0.651428571 0.651428571 0.651428571 0.651428571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
25 0 0 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
26 0 0 0 0 0 0 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
27 0.546666667 0.546666667 0.546666667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
28 0 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
29 0.5 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
30 0 0 0 0 0 0 0 0 0 0.44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
31 0.54 0.54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
32 0 0.64 0.64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
33 0 0 0 0 0 0 0 0 0 0.611428571 0.611428571 0.611428571 0.611428571 0.611428571 0.611428571 0.611428571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
34 0 0 0 0 0 0 0 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
35 0.36 0.36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
36 0 0 0 0 0 0 0 0 0 0 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0 0 0 0 0 0 0 0 0 0 0 0 
37 0.38 0.38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
38 0.613333333 0.613333333 0.613333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
39 0.58 0.58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
40 0 0 0 0 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0.647272727 0 0 0 0 

java plot

+0

Alors, qu'avez-vous fait en termes de code? Stack Overflow n'est pas un service pour écrire votre code. S'il vous plaît lire sur [demander], ainsi que [mcve] – Adriaan

Répondre

1

Voici un exemple d'une solution, en supposant data est tout ce qui est au sein le tableau (aucune étiquette de graduation de l'axe):

Links_num = size(data,1); 
[y,x] = ndgrid(1:Links_num,1:size(data,2)); 
c = repelem(1:Links_num,size(data,2),1).'; 
scatter(x(:),y(:),data(:)*100+1,c(:),'filled') 
clr = lines(Links_num); 
colormap(clr) 
title('Time Period') 
ax = gca; 
ax.XAxisLocation = 'top'; 
ax.XAxis.TickValues(1) = []; 
clr = lines(Links_num); % make a color map 
ax.YAxis.Direction = 'reverse'; 
links = [repmat('Link ',Links_num,1) num2str((1:Links_num).')]; 
x = repelem(ax.XAxis.Limits(1)-0.05,Links_num); % make an x position vector 
for k = 1:Links_num 
    text(ax.XAxis.Limits(1)-0.05,k,links(k,:),'Color',clr(k,:),... 
     'HorizontalAlignment','right'); 
end 
ax.YAxis.Visible = 'off'; % remove the original labels 

Le résultat:

project schedule

+0

Fonctionne bien! Puis-je remplacer le cercle par une barre continue en conservant toutes les autres choses telles quelles (ressemble à un graphique à barres horizontales)? – santosh

+0

@santosh Je pensais que la taille du cercle a une signification, et il en est ainsi dans cette intrigue. Comment garderiez-vous cette information avec une barre horizontale? – EBH

+0

Réponse juste acceptée. désolé de le faire en retard, nouveau sur ce site. Oui, la taille a définitivement un sens. Je me demandais simplement si je pouvais présenter cette information dans un autre format parce que mon professeur veut la modifier. Merci! – santosh