3

Matlabでスクリプトを作成する必要があります。このスクリプトは、Excelテーブルからデータを読み取り、Matlabの図に円グラフを描画します。ただし、Excelの機能を使用してペイントするようにアドバイスされました。Excelで円グラフを描くのは難しいことではありませんが、Matlabの図を使用して、Matlabから円グラフを機能させる方法はまだ見つかりません。私はすでに他のフォーラムでこの質問をしましたが、何の回答もありません。私はどんな助けにも非常に感謝します。

4

2 に答える 2

2

そこで、Matlabの図でActiveXコントロールを使用する方法を理解しました。

まず、ドライバーmschrt20.ocxをインストールする必要があります(無料でインターネットからダウンロードできます)。32ビットシステムでは、C:/ System32に配置してから、cosoleで(Administratorとして)「zippy32mschrt20.ocx」と入力してインストールする必要があります。

次に、Matlabフィギュアを作成し、それにActiveXオブジェクトを配置して保存します。これをアクティブにするには、Matlabのインタープリターに次のように入力します。

 anyone = actxcontrol('MSChart20Lib.MSChart.2');
 anyone.get;
 get(anyone,'ChartData')

これで、オブジェクトのすべてのプロパティを確認できます。ガイドで適切なプロパティ「charType」を選択し、必要に応じてフィールド「Legend」「Visible」を作成します。

ActiveXオブジェクトを使用して円グラフを描画するには、そのフィールド「ChartData」の意味を設定する必要があります。セル2xnです。以下の例のように使用します。

   S = cell(2, 3);
   S(1,: ) = {'first', 'second', 'third'} ; %legend
   S(2,: ) = {1, 10, 5} ; %meanings
   set(handles.activex1,'ChartData', S);

それがどのように機能するかです。ActiveXコントロールで利用できる他のいくつかの機能があります。

于 2012-06-12T17:19:21.417 に答える
0

あなたの質問を理解する方法はたくさんあります:

円グラフが必要な場合、matlabは「pie」関数を使用してそれを行うことができます。

http://www.mathworks.com/help/techdoc/ref/pie.html

x = [1 3 0.5 2.5 2];
explode = [0 1 0 0 0];
pie(x,explode)
colormap jet

実際に円をプロットしたい場合は、次のような「曲率」設定で「長方形」コマンドを使用します。

rectangle('Position',[1,2,5,10],'Curvature',[1,1],...
          'FaceColor','r')
daspect([1,1,1])
xlim([0,7])
ylim([1,13])

または、これらのサイトで円を描くための代替案を探すこともできます。

http://blogs.mathworks.com/pick/2008/03/21/drawing-a-circle/ http://www.mathworks.com/matlabcentral/fileexchange/2876

代わりに極軸が必要な場合:

http://www.mathworks.com/help/techdoc/ref/polar.html

figure
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')

以下は円の方程式です(したがって、黒い極プロット軸に赤い円が重なっているのがわかります。

polar(t,sin(t).^2+cos(t).^2,'--r')
于 2012-05-03T04:21:30.700 に答える