2017-06-06 12 views
0

私は現在、吸収と濃度の相関を分析するグラフ(ビールの法則)を作成しています。グラフを作成しているうちに、私はいくつかの問題に遭遇しました。私のプロットは私のグラフ内に表示されません。配置エラーが原因ですか?可能であれば、ダニ、ラベル、およびタイトルを同じ(または類似の形式)のままにします。私はそれをかなりする前に機能をダウンしようとすると、あまりにも前に申し訳ありません。しかし、とにかく、コードは次のとおりです。ポイントがプロットされていないのはなぜですか?

#importing matplotlib to create a graph 
import matplotlib.pyplot as plt 



#ploting out the points while labeling the graph 
plt.plot([1.95E-06, 9.75E-06, 1.95E-05, 9.75E-05, 1.95E-04, 9.75E-04, 1.95E- 
03],[0.2,0.4,0.6,0.8,1.0,1.2,1.4]) 
plt.xticks([1, 2, 3, 4, 5, 6, 7], [str('1.95E-03'), str('9.75E-04'), 
str('1.95E-04'), str('9.75E-05'),str('1.95E-05'), str('9.75E-06'), 
str('1.95E-06')]) 
plt.title('Red') 
plt.ylabel('Absorption') 
plt.xlabel('Concentration') 
plt.grid(True) 
plt.show() 
+0

あなたは今の答えの1つを選択することができる[受け入れる](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)この問題は解決されたとマークされる。まだツアーを行っていない場合は、[ツアー]ページの周りを見たいと思うかもしれません。 – ImportanceOfBeingErnest

答えて

0

データのx値は0.01よりもかなり低く、目盛りは1から始まるので、データはプロットの左側になります。以下の例のように、対数のx軸を使用することをお勧めします。これにより、x値が異なる桁数の問題が解決されます。私が間違って別の方法でそれらを書いたと仮定して、私はまた、逆の順序でダニの文字列を置くことに注意してください。そうでない場合は、先に進んでそれらを元に戻してください。

#importing matplotlib to create a graph 
import matplotlib.pyplot as plt 


x = [1.95e-06, 9.75e-06, 1.95e-05, 9.75e-05, 1.95e-04, 9.75e-04, 1.95e-03] 
#ploting out the points while labeling the graph 
plt.semilogx(x ,[0.2,0.4,0.6,0.8,1.0,1.2,1.4]) 
plt.xticks(x, [str('1.95E-03'), str('9.75E-04'), str('1.95E-04'), str('9.75E-05'),str('1.95E-05'), str('9.75E-06'), str('1.95E-06')], rotation=45) 
plt.title('Red') 
plt.ylabel('Absorption') 
plt.xlabel('Concentration') 
plt.grid(True) 
plt.tight_layout() 
plt.savefig('points.png') 
plt.show() 

Semilogarithmic plot

2

あなたのxticksはあなたのデータがどこにあるのか完全に範囲外です。 xticksを設定する行を削除し、あなたのプロットは、カスタムチック使用する場合は

import matplotlib.pyplot as plt 

plt.plot([1.95E-06, 9.75E-06, 1.95E-05, 9.75E-05, 1.95E-04, 9.75E-04, 1.95E-03], 
     [0.2,0.4,0.6,0.8,1.0,1.2,1.4]) 
plt.title('Red') 
plt.ylabel('Absorption') 
plt.xlabel('Concentration') 
plt.grid(True) 
plt.show() 

enter image description here

結構です、あなたは0と0.002との間つまりどこかに、データ範囲でそれらを設定する必要があります1と7の間ではありません。

0

plt.xticksの最初の引数は、x座標(目盛りインデックスではありません)です。

関連する問題