私はPythonの初心者なので、バグの技術的な理由はわかりません。おそらく、リクエストで何かを見逃してしまうでしょう。
同じプロットに2つの異なるデータセットをプロットしようとしていますが、コードに問題があります。目的は、「パルスプロファイル」、たとえば、カウントレートと位相をプロットすることです。同じプロットに、同じ位相ビンでのスペクトル分析のフィッティング分析の結果もプロットします。y軸には2つの異なるスケールがあるため、)
を使用しています。twinx(
ただし、メインコードでクラスを呼び出す必要があり、このクラスは、特定のテキストファイルからデータを読み取るために必要です。ここ
の公式の例のように、コード内で直接標準関数を使用して作成されたさまざまなデータをプロットしようとすると、問題は発生しません。クラスの複雑さが主題の十分な理解を妨げないことを期待して、コードを投稿します。
#!/usr/bin/env python
import glob, re, sys, os
sys.path.append('/path-to-the-class-file/')
from scipy import *
from pylab import *
from prs import *
from scipy import optimize
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt
import pyfits
#--------------------------------------------------------------------------------------------#
# *data* is the class that read the data
data=Data('1131', array(['0.0_0.10','0.10_0.24','0.24_0.40','0.40_0.60','0.60_0.83','0.83_1.0']), array(['0.0_0.10','0.10_0.24','0.24_0.40','0.40_0.60','0.60_0.83','0.83_1.0']), 8, 3)
pp=pyfits.open('/path-to-the-fits-file-with-the-data/')
phase = pp[1].data.field(0)
rate = pp[1].data.field(2)
pp.close()
ax1 = subplot(311)
ax1.plot(phase, rate)
ay1 = ax1.twinx()
ecyc=data.ecyc1
ay1.plot(phase, ecyc)
役に立つかどうかわからないので、クラスについては何も指定していません。私が受け取るエラーは次のとおりです。
Traceback (most recent call last):
File "prs2.py", line 36, in <module>
ay1.plot(phase, ecyc) #, yerr = (demin, demax))
File "/science/epd-7.1-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/axes.py", line 3783, in plot
for line in self._get_lines(*args, **kwargs):
File "/science/epd-7.1-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/axes.py", line 317, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "/science/epd-7.1-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/axes.py", line 294, in _plot_args
x, y = self._xy_from_xy(x, y)
File "/science/epd-7.1-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/axes.py", line 234, in _xy_from_xy
raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension
pr2.pyは、メインファイルの名前です。
ルール通りに投稿したと思います。何か提案はありますか?