二次元プロットのxの変域の着色
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
rika yamada
le 25 Déc 2019
Réponse apportée : Etsuo Maeda
le 26 Déc 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 commentaires
Réponse acceptée
Musashi Ito
le 25 Déc 2019
Modifié(e) : Musashi Ito
le 25 Déc 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 commentaires
Plus de réponses (1)
Etsuo Maeda
le 26 Déc 2019
areaでも横軸0~10の範囲で着色されているはずですが・・・?
y = 0.0:0.01:5.0;
としてためしてみてはどうでしょうか。
0 commentaires
Voir également
Catégories
En savoir plus sur グラフィックス出力のターゲットの指定 dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!