Code Execution & Rendering Issues in Exercise 8.3 Subplots – Chapter 8.3 (Pages 253–254)

オープン
#231 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
領域
content

調査の方向性

Start with _graphuniv.m and compare its subplot layout and bar3 panel with the Exercise 8.3 code and the attached rendering. Check the figure output for label overlap and readability across all eight panels. Done means the rendering issues described in the report are resolved while preserving the exercise’s intended plots.

索引モデルが issue の本文から書いたものです。

説明

Dear Professors,

Following up on the layout issue, I performed a full code execution test in MATLAB using the exact snippet provided for Exercise 8.3 on pages 253–254:

  • #230
T = readtable("graphuniv2series.xlsx", 'Sheet', 'data', 'ReadRowNames', true);
Y = T{:, 1:2};
months = categorical(T.Properties.RowNames, T.Properties.RowNames);
nr = 2; nc = 4;
subplot(nr, nc, 1); bar(months, Y); title('Grouped vertical bars')
% ... subplots 2 to 7 ...
subplot(nr, nc, 6); bar3(months, Y); title('3D bars')

Upon running the code, I observed a couple of notable rendering discrepancies and formatting issues in the resulting figure:

  1. Subplot Overlap & Label Clipping:
    Arranging 8 subplots in a $2 \times 4$ grid (nr = 2, nc = 4) without adjusting spacing causes the rotated vertical x-axis labels of the top row (e.g., Jan, Feb... Dec) to overlap directly with the titles of the subplots on the bottom row (such as 100% stacked area).

  2. 3D Bar Display (bar3) with Categorical Input:
    While bar3(months, Y) executes without syntax errors in recent MATLAB releases, passing a categorical array directly to bar3 places all 12 month labels along the 3D depth axis in a skewed orientation. Depending on the window resolution, this makes the labels hard to read and visually inconsistent with the rest of the 2D panels.

Suggested Refinements:

  • Using tiledlayout(2, 4, 'Padding', 'compact') instead of subplot(nr, nc, i) automatically resolves the label-title overlaps.
  • For bar3, explicitly formatting the tick labels or providing a dedicated viewing angle (e.g., via view()) improves the readability of the 3D bar chart.

Also, this is all the code i rewritten along the original file in the repo : graphuniv.m

% 1. Read data from Excel file
T = readtable("graphuniv2series.xlsx", 'Sheet', 'data', 'ReadRowNames', true);
Y = T{:, 1:2};

% 2. Define categorical month labels preserving chronological order
months = categorical(T.Properties.RowNames, T.Properties.RowNames, 'Ordinal', true);

% 3. Set subplot layout dimensions
nr = 2; 
nc = 4;

% Panel 1: Grouped vertical bars
subplot(nr, nc, 1)
bar(months, Y)
title('Grouped vertical bars')

% Panel 2: Grouped horizontal bars
subplot(nr, nc, 2)
barh(months, Y)
title('Grouped horizontal bars')

% Panel 3: Stacked bars
subplot(nr, nc, 3)
bar(months, Y, 'stacked')
title('Stacked bars')

% Panel 4: 100% stacked bars
subplot(nr, nc, 4)
bar(months, 100 * Y ./ sum(Y, 2), 'stacked')
title('100% stacked bars')

% Panel 5: 100% stacked area
subplot(nr, nc, 5)
area(months, 100 * Y ./ sum(Y, 2))
title('100% stacked area')

% Panel 6: 3D bars (Fix for categorical array compatibility)
subplot(nr, nc, 6)
bar3(Y)
set(gca, 'XTickLabel', string(months))
title('3D bars')

% Panel 7: Stairs plot
subplot(nr, nc, 7)
stairs(months, Y)
title('Stairs plot')

% Panel 8: Custom-coloured bars (Example customization)
subplot(nr, nc, 8)
b = bar(months, Y);
b(1).FaceColor = [0.2 0.6 0.8];
b(2).FaceColor = [0.8 0.3 0.3];
title('Custom-coloured bars')

With those different results:

Image
主要言語
MATLAB
スター
30
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

UniprJRC/DSwithMATLAB のほかの issue

UniprJRC/DSwithMATLAB の issue をすべて見る

似ている issue

MATLAB の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。