9

2 つのアレイの位置を互いに視覚化しようとしています。私のテーブルは次のようになります

    Number          Description      value_1  value_2  err_1 err_2
         1          descript_1       124.46   124.46   22.55  54.2
         2          Descript_2       8.20     50.2     0.37   0.1 
         3          Descript_2       52.55    78.3     3.77   2.41
         4          Descript_2       4.33     778.8    0.14   1.78

私が基本的に欲しいのは次のようなものです: 2 つのエラーバーを含む散布図

したがって、このプロットでは、すべてのポイントに基本的に 3 つのプロパティがあります。1. xerror バー 2. yerror バー 3. このポイントが表す内容の説明。

これはmatplotlibを使用してエレガントに実行できると感じていますが、エラーバーを使用していくつか試してみましたが、期待どおりの結果が得られませんでした。そして、キャプションをプロットに配置する方法をまだ見つけていません。

4

2 に答える 2

8

このようなものが欲しいようですね?

import matplotlib.pyplot as plt

x = [124.46, 8.20, 52.55, 4.33]
y = [124.46, 50.2, 78.3, 778.8]
xerr = [54.2, 0.1, 2.41, 1.78]
yerr = [22.55, 0.37, 3.77, 0.14]

descrip = ['Atom 1', 'Atom 2', 'Atom 3', 'Atom 4']


plt.errorbar(x, y, xerr, yerr, capsize=0, ls='none', color='black', 
            elinewidth=2)

for xpos, ypos, name in zip(x, y, descrip):
    plt.annotate(name, (xpos, ypos), xytext=(8, 8), va='bottom',
                textcoords='offset points')

plt.show()

ここに画像の説明を入力

errorbarのように動作しplotます。「散布」プロットが必要な場合は、指定する必要がありますlinestyle='none'(または同等のls='none')。あなたの図面に基づいて、エラーバーにキャップを付けたくないので、指定しましcapsize=0た。同様に、エラーバーにはかなり太い線が必要なようですelinewidth=2

エラーバーに加えてマーカーが必要な場合は、marker='o'(または任意のマーカー スタイルを) に指定するだけですerrorbar

annotateは、プロット上の点に注釈を付ける最も簡単な方法です。ここでは、注釈を各測定値の 8ポイント上および右に配置するように指定しました。

于 2012-05-22T18:34:09.873 に答える