Skip to main content
edited tags
Link
I returned it to the original version of the question in order to make a new post with the details described better.
Source Link

Thanks for help m_goldberg!

Following your advice I tried to add my barchart:

data14GA = {{33/36, 3/36}, {11/36, 25/36}, {27/36, 1/36, 
    8/36}, {14/36, 22/36}, {1/36, 13/36, 1/36, 1/36, 2/36, 2/36, 
    10/36, 4/36, 1/36, 1/36}, {8/36, 8/36, 16/36, 4/36}};
labels14GA = {{"node 4", "node 9"}, {"node 4", "node 9"}, {"node 4", 
    "node 7", "node 9"}, {"node 4", "node 9"}, {"node 3", "node 4", 
    "node 5", "node 6", "node 7", "node 8", "node 9", "node 10", 
    "node 11", "node 13"}, {"node 4", "node 5", "node 9", "node 11"}};
grouplabels14GA = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14GA = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14GA, labels14GA}], {2}], 
    grouplabels14GA}];
data14MOPSO = {{60/80, 20/80}, {23/40, 17/40}, {74/80, 4/80, 
    2/80}, {16/40, 24/40}, {8/80, 4/80, 7/80, 24/80, 3/80, 16/80, 
    4/80, 2/80, 12/80}, {3/40, 4/40, 1/40, 6/40, 4/40, 1/40, 21/40}};
labels14MOPSO = {{"node 9", "node 4"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7", "node 3", "node 5", 
    "node 10", "node 11", "node 13", "node 14"}, {"node 3", "node 4", 
    "node 5", "node 9", "node 10", "node 11", "node 14"}};
grouplabels14MOPSO = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14MOPSO = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14MOPSO, labels14MOPSO}], {2}], 
    grouplabels14MOPSO}];
BarChart[{labeleddata14GA, labeleddata14MOPSO}, 
 ChartStyle -> {GrayLevel[0.1], GrayLevel[0.2], GrayLevel[0.3], 
   GrayLevel[0.4], GrayLevel[0.5], GrayLevel[0.6], GrayLevel[0.65], 
   GrayLevel[0.7], GrayLevel[0.75], GrayLevel[0.8]}, 
 ChartLayout -> "Stacked", AxesStyle -> Directive[Black, 24], 
 BarSpacing -> {Automatic, .3}, ImageSize -> 800]

But it turned out incorrect (problem with the Bar dataset) and I tried another way:

data14GAMOPSO = {{33/36, 3/36}, {11/36, 25/36}, {27/36, 1/36, 
    8/36}, {14/36, 22/36}, {1/36, 13/36, 1/36, 1/36, 2/36, 2/36, 
    10/36, 4/36, 1/36, 1/36}, {8/36, 8/36, 16/36, 4/36}, {60/80, 
    20/80}, {23/40, 17/40}, {74/80, 4/80, 2/80}, {16/40, 
    24/40}, {8/80, 4/80, 7/80, 24/80, 3/80, 16/80, 4/80, 2/80, 
    12/80}, {3/40, 4/40, 1/40, 6/40, 4/40, 1/40, 21/40}};
labels14GAMOPSO = {{"node 4", "node 9"}, {"node 4", 
    "node 9"}, {"node 4", "node 7", "node 9"}, {"node 4", 
    "node 9"}, {"node 3", "node 4", "node 5", "node 6", "node 7", 
    "node 8", "node 9", "node 10", "node 11", "node 13"}, {"node 4", 
    "node 5", "node 9", "node 11"}, {"node 9", "node 4"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7", "node 3", "node 5", 
    "node 10", "node 11", "node 13", "node 14"}, {"node 3", "node 4", 
    "node 5", "node 9", "node 10", "node 11", "node 14"}};
grouplabels14GAMOPSO = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3", "OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14GAMOPSO = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14GAMOPSO, labels14GAMOPSO}], {2}], 
    grouplabels14GAMOPSO}];
BarChart[labeleddata14GAMOPSO, 
 ChartStyle -> {GrayLevel[0.1], GrayLevel[0.2], GrayLevel[0.3], 
   GrayLevel[0.4], GrayLevel[0.5], GrayLevel[0.6], GrayLevel[0.65], 
   GrayLevel[0.7], GrayLevel[0.75], GrayLevel[0.8]}, 
 ChartLayout -> "Stacked", AxesStyle -> Directive[Black, 24], 
 BarSpacing -> {Automatic, .3}, ImageSize -> 1500]

new barchart

It is correct but it would be better to sowehow group the columns. In other words to separate the columns [OF1(N-1)+OF1], [OF2(N-1)+OF2], [OF3(N-1)+OF3] from each other a bit because they represent different functions. Two questions:

  • How does it can be realised?
  • Is it possible to make a space between groups of labeleddata14GA and labeleddata14MOPSO as well?

Thanks for help m_goldberg!

Following your advice I tried to add my barchart:

data14GA = {{33/36, 3/36}, {11/36, 25/36}, {27/36, 1/36, 
    8/36}, {14/36, 22/36}, {1/36, 13/36, 1/36, 1/36, 2/36, 2/36, 
    10/36, 4/36, 1/36, 1/36}, {8/36, 8/36, 16/36, 4/36}};
labels14GA = {{"node 4", "node 9"}, {"node 4", "node 9"}, {"node 4", 
    "node 7", "node 9"}, {"node 4", "node 9"}, {"node 3", "node 4", 
    "node 5", "node 6", "node 7", "node 8", "node 9", "node 10", 
    "node 11", "node 13"}, {"node 4", "node 5", "node 9", "node 11"}};
grouplabels14GA = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14GA = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14GA, labels14GA}], {2}], 
    grouplabels14GA}];
data14MOPSO = {{60/80, 20/80}, {23/40, 17/40}, {74/80, 4/80, 
    2/80}, {16/40, 24/40}, {8/80, 4/80, 7/80, 24/80, 3/80, 16/80, 
    4/80, 2/80, 12/80}, {3/40, 4/40, 1/40, 6/40, 4/40, 1/40, 21/40}};
labels14MOPSO = {{"node 9", "node 4"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7", "node 3", "node 5", 
    "node 10", "node 11", "node 13", "node 14"}, {"node 3", "node 4", 
    "node 5", "node 9", "node 10", "node 11", "node 14"}};
grouplabels14MOPSO = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14MOPSO = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14MOPSO, labels14MOPSO}], {2}], 
    grouplabels14MOPSO}];
BarChart[{labeleddata14GA, labeleddata14MOPSO}, 
 ChartStyle -> {GrayLevel[0.1], GrayLevel[0.2], GrayLevel[0.3], 
   GrayLevel[0.4], GrayLevel[0.5], GrayLevel[0.6], GrayLevel[0.65], 
   GrayLevel[0.7], GrayLevel[0.75], GrayLevel[0.8]}, 
 ChartLayout -> "Stacked", AxesStyle -> Directive[Black, 24], 
 BarSpacing -> {Automatic, .3}, ImageSize -> 800]

But it turned out incorrect (problem with the Bar dataset) and I tried another way:

data14GAMOPSO = {{33/36, 3/36}, {11/36, 25/36}, {27/36, 1/36, 
    8/36}, {14/36, 22/36}, {1/36, 13/36, 1/36, 1/36, 2/36, 2/36, 
    10/36, 4/36, 1/36, 1/36}, {8/36, 8/36, 16/36, 4/36}, {60/80, 
    20/80}, {23/40, 17/40}, {74/80, 4/80, 2/80}, {16/40, 
    24/40}, {8/80, 4/80, 7/80, 24/80, 3/80, 16/80, 4/80, 2/80, 
    12/80}, {3/40, 4/40, 1/40, 6/40, 4/40, 1/40, 21/40}};
labels14GAMOPSO = {{"node 4", "node 9"}, {"node 4", 
    "node 9"}, {"node 4", "node 7", "node 9"}, {"node 4", 
    "node 9"}, {"node 3", "node 4", "node 5", "node 6", "node 7", 
    "node 8", "node 9", "node 10", "node 11", "node 13"}, {"node 4", 
    "node 5", "node 9", "node 11"}, {"node 9", "node 4"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7"}, {"node 4", 
    "node 9"}, {"node 9", "node 4", "node 7", "node 3", "node 5", 
    "node 10", "node 11", "node 13", "node 14"}, {"node 3", "node 4", 
    "node 5", "node 9", "node 10", "node 11", "node 14"}};
grouplabels14GAMOPSO = 
  Style[#, Black, Bold, FontSize -> 18] & /@ {"OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3", "OF1(N-1)", "OF1", 
    "OF2(N-1)", "OF2", "OF3(N-1)", "OF3"};
labeleddata14GAMOPSO = 
  MapThread[
   Labeled[#1, #2, Axis] &, {SortBy[-First[#] &] /@ 
     Apply[Labeled[#1, Style[#2, FontSize -> 16, White], Center] &, 
      Transpose /@ Transpose[{data14GAMOPSO, labels14GAMOPSO}], {2}], 
    grouplabels14GAMOPSO}];
BarChart[labeleddata14GAMOPSO, 
 ChartStyle -> {GrayLevel[0.1], GrayLevel[0.2], GrayLevel[0.3], 
   GrayLevel[0.4], GrayLevel[0.5], GrayLevel[0.6], GrayLevel[0.65], 
   GrayLevel[0.7], GrayLevel[0.75], GrayLevel[0.8]}, 
 ChartLayout -> "Stacked", AxesStyle -> Directive[Black, 24], 
 BarSpacing -> {Automatic, .3}, ImageSize -> 1500]

new barchart

It is correct but it would be better to sowehow group the columns. In other words to separate the columns [OF1(N-1)+OF1], [OF2(N-1)+OF2], [OF3(N-1)+OF3] from each other a bit because they represent different functions. Two questions:

  • How does it can be realised?
  • Is it possible to make a space between groups of labeleddata14GA and labeleddata14MOPSO as well?
added 5 characters in body
Source Link
  • How does it can be realised?
  • Is it possible to make a space between groups of labeleddata14GA and labeleddata14MOPSO as well?
  • How it can be realised?
  • Is it possible to make a space between groups of labeleddata14GA and labeleddata14MOPSO as well?
  • How does it can be realised?
  • Is it possible to make a space between groups of labeleddata14GA and labeleddata14MOPSO as well?
Added some related questions to the topic without creating new question
Source Link
Loading
Routine cleanup
Source Link
m_goldberg
  • 108.1k
  • 16
  • 104
  • 259
Loading
Source Link
Loading