2012-02-17 4 views
2

サンプルの硬さHとヤング率Eのグラフを圧子の荷重Lの関数として自動的に作成したいと思います。Matlab:ライン指定を変更する

私の目標は、不透明なマーカーを点線で結ばせることです。 set(handle,'linestyle',spec)またはline(...,'linestyle',spec)コマンドを使用しているときに、マーカまたはラインを取得しても、どちらのMATLABもエラーをスローしません。
同じデータと異なる仕様の2行をプロットせずに線とマーカーを取得する方法はありますか?別の質問(MATLAB: legend for plotyy with multiple data sets)に記載されているように、これを続けて伝説と一緒に作業したいと思います。ここで

は私の実際のMWEコードです:

%data1 - m x 3 matrix with data for first sample: 
[m,n]=size(data1); 

%plots 1st sample data: 
[ax,h1,h2]=plotyy([data1(1:m,1)],[data1(1:m,2)],[data1(1:m,1)],[data1(1:m,3)]); 

set(h1,'linestyle','o') 
set(h2,'linestyle','o') 

%store colors: 
c1=get(h1,'color');c2=get(h2,'color'); 

%plots 2nd sample hardness: 
line('parent',ax(1),'xdata',[data2(1:m,1)],'ydata',[data2(1:m,2)],... 
    'color',c1,'linestyle','s'); 

%plots 2nd sample young's modulus 
line('parent',ax(2),'xdata',[data2(1:m,1)],'ydata',[data2(1:m,3)],... 
    'color',c2,'linestyle','s'); 

答えて

5

私はあなたがそれを過度に複雑することができると思いますか?

はこのような何かを試してみてください:

% MarkerSize determines the size of the markers 
% MarkerEdgeColor determines the color of the markers themselves 
% Color determines the line color connecting them 
data = rand(1,5); 
plot(data, '.--', 'MarkerSize', 50, 'MarkerEdgeColor', [0.1 0.8 0.2], 'Color', [0.9 0.2 .4]); 

それは破線で接続されている不透明なマーカーの次の画像生成:plotyyをサポートするために

Plot

を、プロセスは除いて、基本的に同じです親軸と子軸の両方にいくつかのプロパティを設定する必要があります。

% Generate some data 
datax1 = rand(1,5); 
datay1 = rand(1,5); 
datax2 = rand(1,5); 
datay2 = rand(1,5); 

% Plot the data  
[ax, h1, h2] = plotyy(datax1, datay1, datax2, datay2); 

% Different line styles for each child plot 
set(h1, 'LineStyle', '--'); 
set(h2, 'LineStyle', '-.'); 

% Different markers for each child plot 
set(h1, 'Marker', '.'); 
set(h2, 'Marker', '+'); 

% Different marker sizes for each child plot 
set(h1, 'MarkerSize', 50); 
set(h2, 'MarkerSize', 5); 

% Generate two colors. We keep a copy so we can set the axes to match. 
color1 = rand(1,3); 
color2 = rand(1,3); 

% The face colors are darker versions of the colors. 
set(h1, 'MarkerEdgeColor', color1 * 0.5); 
set(h2, 'MarkerEdgeColor', color2 * 0.5); 

% This is the plot line color. 
set(h1, 'Color', color1); 
set(h2, 'Color', color2); 

% Set the axis colors to match the plot colors. 
set(ax(1), 'YColor', color1); 
set(ax(2), 'YColor', color2); 

次の画像を生成します:ここではいくつかのサンプルコードです

enter image description here

+0

は、プロットのサポート ' 'parent''オプションをしていますか?なぜなら私は左の軸に接続された1つのプロットと、右の軸に接続された第2のプロットが必要だからです'plotyy(...)、holdy、plotyy(...)'は二次軸に混乱を引き起こしました:( – Crowley

+0

'plotyy'をサポートするために私の答えを編集します... – aardvarkk

+0

まあ、' set(h2、 'Marker '、' + '); '私が欲しかったすべてを作った。 – Crowley

関連する問題