3

コマンドを使用して、単一のプロットに y 軸の 2 つのスケールを追加する方法の例を見てきましたtwinx()。ただし、x 軸に 2 つのスケールを追加する方法はまだわかりませんでした。私の場合、[x,y] データを MATLAB からインポートしてプロットします。x の元のデータ ( と呼ぶことができますx1) を図の下部に表示し、正規化された x-data ( と呼ぶことができますx2) を図の上部に表示したいと思います。私のコードは次のとおりです。

from scipy.io import loadmat
import matplotlib.pyplot as plt
import numpy as np

# loading data
fid_1 = 'beta_sweep_020.mat'
m1 = loadmat(fid_1)

x = m1['vt_dX']
x1 = np.reshape(x, x.size)
x2 = x1 / (-466.0)
y = m1['vt_beta']
y1 = np.reshape(y, y.size)

# plot
fig = plt.figure()
ax = fig.add_subplot(111)

plt.plot(abs(x1),y1,'r')
plt.show()

誰でもこれで私を助けることができますか?ありがとう。

4

1 に答える 1

2

使用ax.twiny():

import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(0,1000000,100)
x2 = x1 / (-466.0)
y1 = np.log(x1)

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()
line1, = ax1.plot(x1,y1,'r')
line2, = ax2.plot(x2,y1,'b')

plt.legend((line1, line2), ('red', 'blue'))
plt.show()

ここに画像の説明を入力

于 2012-11-30T20:49:58.390 に答える