MATLABグラフィック描画-離散データ描画

離散データのプロット

現在5人の生徒の学年がある場合は、生徒の学年と名前を1つずつ地図上に描画します。必要に応じて、生徒を破線で接続できます。このとき、次の機能を理解する必要があります。

  • xtick
  • xticklabel
  • gca
  • set
  • axis

それらの間で、gca一般的な理解は、長さ、幅、高さ、解像度、座標軸のインデックス値など、現在の関数画像の性質を返すことです。一連の画像属性は、言語の構造と同様にコマンドによって1つずつ変更
できます。このsetようなC解釈は、とてもわかりやすいです。
次の5人の結果がある場合:

A:50
B:98
C:75
D:80
E:98

ポリラインで描く必要がxあり、座標軸のラベルは普通の数字1,2,3....などではなく、一人一人の名前に対応しています。
まず、5つの要素を持つ配列を作成します。

>> x = [1:5];

次に、グレードの配列を作成します。

>> y = [50 98 75 80 98];

次に、最初にこれらの結果に対応するポイントを描画します(これはポリラインではないことに注意してください。これについてはすぐに説明します)。次のコマンドを使用できます。

>> plot(x,y,'o')

画像:
図1

3番目のパラメーター'o'は、データを表すために円を使用することを示しています。もちろん、他の形状も使用できます。

  • s–スクエア
  • d–ダイヤモンド
  • p–ペンタグラム
  • o–サークル
  • x–フォーク
  • .–ドット番号
    エラーが発生しやすいもう1つの点は、いくつかのドットのみを描画することです。ドットを接続する場合は、次のコマンドを使用できます。
>> plot(x,y,'o',x,y)

つまり、これらのポイントを表示した後、それらをポリラインで接続します。画像は次のとおり
写真2
MATLABです。デフォルトの色は赤のようです。3番目のパラメータで、好きな色と線のスタイルを変更することもできます。例:

>> plot(x,y,'or',x,y,'--')

つまり、

  • 最初の方法はx,y、最初にスキャッタを描画して、それを赤い円で表示することです
  • 2つ目はx,y直線描画する方法で、線の種類は破線です。
    画像:
    写真3
    パラメータの順序は画像に一定の影響を与えることに注意してください。最初に描画を開始したとき、線の種類と色に関するすべてのパラメータを1か所に配置したいと思いました。 、しかし後でこの順序が次のような画像に特定の影響を与えることがわかりました:
>> plot(x,y,'or--',x,y)

私たちの本来の目的は、最初に赤い円で表されるこれらの点を記述し、次にこれらの点を点線でつなぐことですが、描画されるイメージは次のとおりです:
不十分な画像
結果は実線で描画され、期待に沿わないため、後で試しました最後に理解しました:
散在する点に基づいてグラフィックを描画してxおりy、関係は1対1であるため、これらの点を最初に描画する必要があります。これらの点を描画するには、円、ひし形、点などのマークが必要です。待ってください。色を追加することはできますが、破線の実線などの線種は選択できません。これらは独立した点にすぎないため、それらを接続していないため、ここでは線種コマンドMATLABは無視されますここまで待つこれらのポイントを描画した後、それら
を接続する必要があります。この時点で、ラインパラメータを選択できます。
同様に:


>> plot(x,y,'.g',x,y,'k--')

画像:
写真5
黒の点線と接続するために緑の点を使用します

したがって、注意する必要があります。離散点描画の対応する位置に対応するパラメーターを入力する必要があります。そうしないと、MATLABによって自動的に無視されます。

質問はオフになっているようです。ここで質問に戻り、生徒のスコアの画像を描画します。

>> x = [1:5];
>> y = [50 98 75 80 98];
>> plot(x,y,'or',x,y,'--')
>> set(gca,'xticklabel',['A';'B';'C';'D';'E']);
>> set(gca,'xtick',[1:5]);
>> axis([1 5 0 100])

生成:
正しい画像

>> set(gca,'xticklabel',['A';'B';'C';'D';'E']);
>> set(gca,'xtick',[1:5]);

これらの2つの文は1~5、座標値を生徒の名前に置き換えgca、現在の画像の属性を返すの同じです。

棒グラフ

棒グラフコマンドは非常に単純です。bar(x,y)コマンドを直接使用して描画できます

>> bar(x,y)
>> xlabel('学生')
>> ylabel('分数')
>> title('期末考试')

棒グラフ

針図

離散データを描画するもう1つの方法は、ニードルチャートです。関数を見てみましょう:
この関数は、一定の力の下でのばねの応答です。
機能
これは価値
私たちが今、200で画像を描画し、我々は最初の範囲を定義します。

>> t = [0:0.1:200];

次に、関数を定義します。

>> f = exp(-0.01*t).*sin(t/4);

描画:

>> plot(t,f),xlabel('时间(秒)'),ylabel('弹簧响应')

画像:
春の反応
上の画像は0.1ごとにデータを取得します。離散データからプロットする場合は、5ごとにサンプルを取得します

>> t = [0:5:200];
>> f = exp(-0.01*t).*sin(t/4);
>> plot(t,f),xlabel('时间(秒)'),ylabel('弹簧响应')

画像:
離散描画
得られる画像は少し粗いです。この場合、エンジニアはそれをニードルマップとして描画するのが好きです。stem(x,y)
針図
のコマンドを使用してください点の色や形状など、プロットの多くのコマンドもステムで使用できます。線の色、形状:

  • s–スクエア
  • d–ダイヤモンド
  • p–ペンタグラム
  • o–サークル
  • x–フォーク
  • .–図次のコマンドを
    使用してfill、形状
    コードを入力することもできます。
>> stem(t,f,'p','fill'),xlabel('时间(秒)'),ylabel('弹簧响应')

ペンタグラム塗り

>> stem(t,f,'dg--','fill'),xlabel('时间(秒)'),ylabel('弹簧响应')

緑のひし形の点線接続

元の記事を84件公開 18 件を獲得 5805件を表示

おすすめ

転載: blog.csdn.net/qq_44486550/article/details/105276774