二次元プロットのxの変域の着色
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
rika yamada
am 25 Dez. 2019
Beantwortet: Etsuo Maeda
am 26 Dez. 2019
xの変域に対して着色したいのですが、
area 関数を用いると以下のようになり、yの変域にしか着色できません。
例えば
の範囲に着色したい場合はどのようにすればよいでしょうか。
の範囲に着色したい場合はどのようにすればよいでしょうか。clear
close all
% Sample data
y = 0.0:0.01:10.0;
y = y';
x1 = 0.*y + 7.0;
x2 = 0.*y + 4.0;
figure
ar = area(y,[x2,x1]);
% Appearances
set(ar(1),'FaceColor','None')
set(ar(2),'FaceColor',[0.0,0.2,1.0],'FaceAlpha',0.2);
grid on

0 Kommentare
Akzeptierte Antwort
Musashi Ito
am 25 Dez. 2019
Bearbeitet: Musashi Ito
am 25 Dez. 2019
2 次元の多角形の塗りつぶしの関数 fill が使えそうです。これで塗りつぶして、グラフを重ね書きしてみてはいかがでしょうか。
% 正弦波の計算
x = 0:0.1:2*pi;
y = sin(x);
% グラフの作成
figure
% 2次元の多角形の塗りつぶし
% x 軸が 1 <= x <= 5, y 軸が -1 <= y <= 1 の長方形
% RGB : [0.1 0.5 0.1] で塗りつぶし
fp = fill([1 1 5 5],[-1 1 1 -1],[0.1 0.5 0.1]);
fp.EdgeColor = [0.1 0.5 0.1]; % エッジの色を RGB で指定
fp.FaceAlpha = 0.5; % 透明度を 0~1 で指定
hold on
plot(x,y) % 正弦波のグラフをプロット
hold off
grid on
xlim([0 6]) % グラフのx 軸座標の調整
ylim([-1 1]) % グラフのy 軸座標の調整
0 Kommentare
Weitere Antworten (1)
Etsuo Maeda
am 26 Dez. 2019
areaでも横軸0~10の範囲で着色されているはずですが・・・?
y = 0.0:0.01:5.0;
としてためしてみてはどうでしょうか。
0 Kommentare
Siehe auch
Kategorien
Mehr zu 表面、ボリュームおよび多角形 finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!