pandas series(prior_fails))のヒストグラムを作成したいのですが、次のValueErrorが発生し続けます。
ValueError: view limit minimum -36814.8560105 is less than 1 and is an
invalid Matplotlib date value. This often happens if you pass a non-datetime
value to an axis that has datetime units
これは私がヒストグラムを呼んでいる方法です
plt.hist(prior_fails)
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')
以前の失敗は次のインデックスを持つシリーズです:
prior_fails.index
Out[85]:
Index([u'prior110', u'prior113', u'prior118', u'prior141', u'prior144',
u'prior16', u'prior217', u'prior223', u'prior245', u'prior29',
u'prior352', u'prior360', u'prior370', u'prior438', u'prior55',
u'prior59', u'prior60', u'prior68', u'prior74', u'prior88'],
dtype='object')
そして内容:
prior_fails
Out[86]:
prior110 13.962170
prior113 10.861125
prior118 21.304131
prior141 11.309109
prior144 11.363863
prior16 14.479841
prior217 10.403186
prior223 14.201095
prior245 7.974116
prior29 17.401692
prior352 9.860627
prior360 12.339472
prior370 16.207068
prior438 16.381284
prior55 20.587357
prior59 10.452962
prior60 15.828771
prior68 16.769537
prior74 16.918865
prior88 9.805874
dtype: float64
どんな助けでも大歓迎です。私はPythonにかなり慣れていません。ありがとう!
まあ、matplotlibまたはpandas(matplotlib自体を使用してプロットする)のいずれかでヒストグラムをプロットするときにエラーは発生しません。
import pandas as pd
data = {'ind': ['prior110', 'prior113', 'prior118', 'prior141', 'prior144', 'prior16', 'prior217', 'prior223', 'prior245', 'prior29', 'prior352', 'prior360', 'prior370', 'prior438', 'prior55', 'prior59', 'prior60', 'prior68', 'prior74', 'prior88'],
'val': [13.96217, 10.861125, 21.304131, 11.309109, 11.363863, 14.479841, 10.403186, 14.201095, 7.974116, 17.401692, 9.860627, 12.339472, 16.207068, 16.381284, 20.587357, 10.452962, 15.828771, 16.769537, 16.918865, 9.805874]}
prior_fails = pd.DataFrame(data, columns=['ind', 'val'])
prior_fails.set_index('ind', inplace=True)
prior_fails
# with pandas
prior_fails.hist()
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')
plt.title('Histogram')
# with matplotlib
import matplotlib.pyplot as plt
plt.hist(prior_fails.val)
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')
それでもエラーが発生する場合は、プロットの直前に%matplotlib inline
を試すことができます。これにより、matplotlibが使用するバックエンドがinline
に変更されます。時々、デフォルトのバックエンドが何らかの理由で壊れたり壊れたりする可能性があるため、バックエンドを変更して、それが問題の原因であるかどうかを確認することができます。 qt5
、agg
などの他のバックエンドもあります。したがって、これでも問題が解決しない場合は、これらのバックエンドのいくつかを試すことができます。