2017-11-21 3 views
0

グラフを積み重ねて棒グラフをグラフ化し、.txtファイルからデータをインポートするコードがあります。txtではなくcsvでグラフコードグラフを作成するには

df = pd.read_table("tiempo.txt",header =None, names = ['Tiempos no Contributivos','Tiempos Contributivos', 'Tiempos Productivos']) 
df['bar'] = 1 
dfgroup = df.groupby('bar').sum() 
ax = dfgroup [['Tiempos no Contributivos','Tiempos Contributivos', 'Tiempos Productivos']].plot(kind='bar', title ="Tiempos de obra", 
     figsize=(15, 10), legend=True, fontsize=12) 
ax.set_xlabel(" ", fontsize=12) 
ax.set_ylabel("Tiempo(segundos)", fontsize=12) 
plt.show() 

このコードがスローするグラフは、次のようになります。 Graph Image

私が必要とするのは、このコードが動作しているように動作することですが、.txtファイルを読み込む代わりに.csvファイルを読み込む必要があります。

読み込み部分の.csvファイルの.txtファイルを切り替えようとしましたが、これが起こりました。

Error

このコードで使用されるデータは、このようになります(500行等があるので、文句を言わない、それの全体を投稿)

Example of the data used

+0

はあなただけではなく、あなたのtiempo.txtのcsvファイルを参照しようとしていますか?私の知る限りでは、CSVファイルはコンマで区切られたテキストファイル –

+0

です。それは私が試した最初のことです。私はコードを編集して表示されるエラーを表示しようとしています。 –

+0

@JuanPabloMejiaRuizうまくいくはずのサンプルデータセットがありますか?それは多くを助けるだろう。 – Neil

答えて

1

だから、私はそれを固定しに関数を変更read_csv。それから、あなたのcsvがカンマ区切りではなく、代わりにタブ区切りであることに気付きました。そこで、私はdelimiter='\t'を追加しました。次に、私はylabelxlabelを現代の名前に設定するために呼び出す関数を更新しました。次に、私はあなたの現在の列名をとり、適切にラベルされたグラフを持っているようにプロットにそれらを与えました。

import pandas as pd 
import matplotlib.pyplot as plt; plt.rcdefaults() 
import numpy as np 

df = pd.read_csv("tiempo.txt",header=None,delimiter='\t',names = ['Tiempos no Contributivos','Tiempos Contributivos', 'Tiempos Productivos']) 
y_pos = np.arange(len(df.columns)) 
bars = df.sum(axis=0) 

plt.bar(y_pos, bars, align='center', alpha=0.5) 
plt.xticks(y_pos, df.columns) 
plt.ylabel("Tiempo(segundos)", fontsize=12) 
plt.xlabel(" ", fontsize=12) 
plt.title('Tiempo') 

plt.show() 

出力:

enter image description here

+0

試しました。 1. dfgroupは鉱山として定義されていますか? 2.私のdfgroupと一緒に試しましたが、同じエラーが発生しました。 –

+0

pastebin.comで使用しているファイルを私に送ってください。また、関連するすべてのプロットコードを別のペーストビンに含めます。 – Neil

+0

https://pastebin.com/3CqhWp8vこれはデータです https://pastebin.com/aTadcCnLこれはコードです。データをインポートする場所からソースを変更するだけです。 –

関連する問題