軸ラベルを時間として(HRS、MINSなど)とどのようにプロットしますか。 -- python フィールド と matplotlib フィールド 関連 問題

How do I plot with my axis label as time (in hrs, mins etc.)












1
vote

問題

日本語

PythonでPylabを使用して特定のデータをプロットしています。データは数分から数時間、さらには数分から数日までの範囲です。時間:mins、または日数、時間:minsなどの理解しやすい形式で表示したいのですが。

MatplotLibやPyplotを使ってどのようにしていますか?

現在、私は時間の軸のティックとしてtime.time()を使用しています。これは、1970年以降に経過した時間を示すフロートであるため、普通の人にとっては無感です。

<事前> <コード> currTime=time.time() pylab.xlim(startTime, currTime) #startTime comes from a data file

さまざまな形式で時間を取得する方法を知っていますが、Pylab.xlim()がfloatsのみを受け入れるために軸に設定する方法はわかりません。

英語

I'm using pylab in python to plot certain data. The data could range from a matter of a few minutes to hours, even days. I'd like to display it in a easy to understand format such as hours:mins, or days, hours:mins.

How do I do that using Matplotlib or pyplot?

Currently, I'm using time.time() as my time axis ticks. This is unintelligible to the ordinary person since it's a float that shows time passed since 1970 or so.

    currTime=time.time()     pylab.xlim(startTime, currTime)     #startTime comes from a data file 

I'm aware how to get time in different formats, but I don't know how to set it to the axis since pylab.xlim() will only accept floats.

</div
     

回答リスト

2
 
vote
vote
ベストアンサー
 

<コード> datetime オブジェクトを試してみましたか? MatplotLibはX軸上でそれらを喜んで描くべきです。

例えば:

<事前> <コード> import datetime figure() plot((datetime.datetime(1970,1,1), datetime.datetime(2000,1,1)), (0,1)) xlim(datetime.datetime(1980,1,1), datetime.datetime(1990,6,5))

内部的には、MatpLoTLIBで使用されている値は1月1日から日数ですが、Time.Time()は1970年1月1日から秒数を与えます。

 

Have you tried datetime objects? Matplotlib should happily draw with them on the x axis.

For example:

import datetime  figure() plot((datetime.datetime(1970,1,1), datetime.datetime(2000,1,1)), (0,1)) xlim(datetime.datetime(1980,1,1), datetime.datetime(1990,6,5)) 

Internally, the values used with matplotlib are days since 1st Jan 1, whereas time.time() gives the number of seconds since 1st Jan 1970.

</div
 
 

関連する質問

1  Pythonの固有値のフォーループ内の固有値のソート  ( Sorting of eigenvalues in python in for loop ) 
私は、パラメータxの関数として5×5アレイの固有値を計算してプロットしています。私はあなたが必ずしも命令されているわけではないので、私は最も簡単な方法でargsort()を使用し、それらを最も小さい(またはその逆)からそれらを並べ替えることです。 <事前> <...

0  Pythonの輪郭プロット  ( Contour plots in python ) 
次の行では、2つの変数、AおよびS:の関数として数量「Chisquare」を計算しています。 <事前> <コード> config.rb0 今すぐ、その最小値を差し引いた後、Chisquareの輪郭プロットをプロットする必要があります。私は次のようにしようとし...

3  MatploTlib.pyplotのダニラベルの異なる回転  ( Different rotations for tick labels in matplotlib pyplot ) 
pyplot 図形のX軸目盛ラベルに異なる回転を設定しようとしています。 このexempleを取ります: <事前> <コード> import matplotlib.pyplot as plt import numpy as np x=np.arange(...

3  Python:ヴァイオイルプロットの重み付け  ( Python weighted violinplots ) 
私は重み付けされた確率分布をかなり少し扱う必要があり、視覚化のためにViolinplotsを使用したいと思います。しかし、私は通常の容疑者(Matplotlib、Seaborn、Bokehなど)の加重データでこれらを作成する方法を見つけることはできません。 加...

2  散布プロットを線形回帰でプロットする方法  ( How to plot a scatter plot with its linear regression ) 
MatplotLibを使ってそのような推定行を作ることができます。 私はいくつかの点を持っていて、私は次のコードを使ってMatplotLibを使ってそれらをプロットしました: <事前> <コード> import matplotlib.pyplot as...

-2  ioErrorを上げる( "%sが見つかりません"%パス)  ( Raise ioerrors not found path ) 
先週、Program.pyをコンパイルするときに大きな問題を解決しようとしていました。私のプログラムスクリプトは:です <事前> <コード> "message": "Query key condition not supported", "code"...

0  アレイクラッシュのPyplot  ( Pyplot of array crashes ) 
Numpy配列の個々の列を合計することから得られた配列値をプロットしようとしています。 Win XP、Python 2.5、MatplotLib-1.0.1、NUMPY-1.5.1、PL-1.1.7 これがコード:です <事前> <コード> import I...

2  PYQT:「重い」ライブラリのロード中にスプラッシュスクリーン  ( Pyqt splash screen while loading heavy libraries ) 
matplotlib を使用するMy PYQTアプリケーションは、高速マシンでも初めてロードされるまでに数秒かかります(DLLはWindowsではメモリに保存されているので、2番目のロード時間ははるかに短いです)。 matplotlib ライブラリー...

75  PythonのMatplotLibを使ってX軸上の日付をプロットする  ( Plotting dates on the x axis with pythons matplotlib ) 
日付に対して情報をプロットしようとしています。フォーマット「01/02/1991」の日付のリストがあります。 次のようにしてそれらを変換しました: <事前> <コード> x = parser.parse(date).strftime('%Y%m%d')) ...

1  さまざまな長さの配列で構成された3Dプロットした入れ子の辞書  ( 3d plotting nested dictionaries made up of different length arrays ) 
私はこのようなネストされた辞書を持っています: <事前> <コード> dictionary = {time: {pixels: {intensity}}} len(time) = 65 len(pixels) = 6/time len(intensity...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有