2017-06-09 3 views
3

に変更されることはありません私は次のとおりです。 ​​。 私の最初のポイントはy軸にあります。私はこの点をもっと目に見えるようにしたいと思います。軸のスケールは、私は以下のx値とmatplotlibのをプロットしようとしているmatplotlibの

私が試してみた:

ax.set_xlim(1e16, 1e36) 
ax.set_xlim(xmin=1e16, xmax=1e36) 
ax.set_xbound(lower=1e16, upper=1e36) 

無駄に。私はx軸の上限を変更できますが、下限は変更できません。

編集:コード例を求めて人のために 、これは私が実行しているものです:

dose = np.array([1.1e19, 5.6e31, 1.1e32, 1.6e32, 2.2e32, 2.8e32]) 
counts = np.array([46, 31, 15, 16, 14, 13]) 

plt.rcParams['axes.formatter.useoffset'] = False 
fig, ax = plt.subplots() 
ax.plot(dose, counts, 'ob-') 
ax.set_xlim(1e16, 1e36) 
#ax.set_xlim(xmin=1e16, xmax=1e36) 
#ax.set_xbound(lower=1e16, upper=1e36) 

fig.tight_layout() 
plt.show() 
+0

ことになります。それらをそのまま視覚化するには、 'ax.set_xlim([xmin、xmax])'だけでうまく動作するはずです。私はなぜあなたが 'ax'と' ax1'を持っているのか知りません。さらに詳しいヘルプが必要な場合は、最小限の完全なコードを表示する必要があります。 –

+0

私は最初の値が小さいのでログスケールを使いたくありません。 –

+0

私は個々の方法を試しました。 'ax1'はタイプミスでした。 –

答えて

2

グッドニュース、悪いニュース...

あなたのコードは、実際に働いています。値ax.get_xlim()を見ると、設定した境界が表示されます。 (いくつかの簡単なテストのためにスパイダー/ Ipythonを使用)

次の二つのスクリーンショットは、あなたのプロット...直線軸とログの軸です。 linear example log example

matplotlibのは、あなたが直線軸を使用して表示できる範囲の大きさ/スケールに制限がありますようだから、見えます。上の境界線より3〜4桁小さいデータはすべて圧縮されているので、Y軸上に見えるようになります

悪い知らせは、この挑戦​​に実際の解決策を提供できないということです。あなたは間違ったことをしていません。おそらくそのバグ? matplotlib github pageに問題を開いて、より複雑なソリューションがあるのか​​、開発者の一人にアイデアがあるのか​​を確認することをお勧めします。

**注:ないバグ...しかし、あなたの上限は、その後1e32ある場合@PaulHを次とにかく開発チーム

へのリンクを残す:0.01
にプロットされます 1e31が0.1
1e30でプロットされます 1e29は
1E16は、お使いの下限が何であるかとは無関係に0.0000000000000001

にプロットされます... 0.001
にプロットされます。

ので、それはバグではありません、あなたは常に選択肢になる設定の制限をOmmiting ...下限は1E16であっても、y軸の近くにいつの間にか

2

をそのポイントを入れます。私には正常に見える

enter image description here

:次のコード

import matplotlib.pyplot as plt 
import numpy as np 

dose = np.array([1.1e19, 5.6e31, 1.1e32, 1.6e32, 2.2e32, 2.8e32]) 
counts = np.array([46, 31, 15, 16, 14, 13]) 

fig, ax = plt.subplots() 
ax.plot(dose, counts, 'ob-') 

fig.tight_layout() 
plt.show() 

は、この図を生成します。

もちろん、軸の範囲を変更することもできます。例えば。

ax.set_xlim(xmin=-1e32, xmax=5e32) 

を使用すると、あなたがより良いそれらを視覚化するために、あなたのデータポイント(非線形線形または)をlogscaleを使用したり、拡大縮小ができ

enter image description here

関連する問題