38

Pythonでプロットを作成しています。係数で軸を再スケーリングする方法はありますか? yscaleおよびコマンドではxscale、ログ スケールをオフにすることしかできません。

編集:
たとえば。スケールが 1 nm から 50 nm になるプロットがある場合x、x スケールは 1x10^(-9) から 50x10^(-9) の範囲になり、1 から 50 に変更したい。プロットに配置された x 値を 10^(-9) で割るプロット関数

4

3 に答える 3

12

ティックを変更する代わりに、代わりに単位を変更してみませんか? X単位が nm の x 値の別の配列を作成します。このようにして、データをプロットすると、すでに正しい形式になっています! xlabel単位を示すために必ず a を追加してください (とにかく常に実行する必要があります)。

from pylab import *

# Generate random test data in your range
N = 200
epsilon = 10**(-9.0)
X = epsilon*(50*random(N) + 1)
Y = random(N)

# X2 now has the "units" of nanometers by scaling X
X2 = (1/epsilon) * X

subplot(121)
scatter(X,Y)
xlim(epsilon,50*epsilon)
xlabel("meters")

subplot(122)
scatter(X2,Y)
xlim(1, 50)
xlabel("nanometers")

show()

ここに画像の説明を入力

于 2012-04-16T14:04:12.430 に答える
10

x軸の範囲を設定するには、を使用できますset_xlim(left, right)ドキュメントは次のとおりです

アップデート:

同じプロットが必要なように見えますが、「目盛り値」のみを変更します。目盛り値を取得してから、それらを必要なものに変更するだけでそれを行うことができます。したがって、必要に応じて次のようになります。

ticks = your_plot.get_xticks()*10**9
your_plot.set_xticklabels(ticks)
于 2012-04-16T09:45:06.283 に答える