2017-05-03 11 views
2

海底モジュールを使用して、下の例のようなプロットを作成しています。私は、次のプロットに似て異なる気象カテゴリ何かでseaborn stripplotを作成したい語彙分散プロットが無効です

 Year_Month_Day_Time  Weather 
0 2010-01-01 00:00:00   NaN 
1 2010-01-01 01:00:00   NaN 
2 2010-01-01 02:00:00   NaN 
..  
7 2010-01-01 07:00:00   Snow 
8 2010-01-01 08:00:00   Snow 
9 2010-01-01 09:00:00 Snow Showers 
.. 
18 2010-01-01 18:00:00   NaN 
19 2010-01-01 19:00:00   NaN 
20 2010-01-01 20:00:00   NaN 
...     ...   ... 
2861 2010-04-30 05:00:00 Mainly Clear 
2862 2010-04-30 06:00:00 Mainly Clear 
2863 2010-04-30 07:00:00 Mostly Cloudy 

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 
import seaborn as sns 
location = "/global/scratch/umalmonj/WRF/juris/golden_hourly_manual_obs.csv" 

df = pd.read_csv(location,usecols= ["Year","Month","Day","Time","Weather"],parse_dates=[["Year","Month","Day","Time"]]) 

は、私は次のようになりDFを持っています。 lexical dispersion plot

字句分散プロットとしても知られています。

助けがあれば助かります。

csv形式で私のサンプルデータセットは、ここで https://www.dropbox.com/s/ulzz5x3rsl2yjd5/sample_data.csv?dl=0

+0

クリック可能ですあなたのデータセットをcsvとして共有しました。あなたの助けになる前に、潜在的に回答者にデータを作成する作業をたくさんお願いしています。 – mwaskom

+0

@mwaskomありがとう、それは良い考えです – jdiction

答えて

2

あなたはstripplotを使用する必要があります。まず、あなたは正しくデータの日時コラムを読んで、それをプロットする必要があります。

import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns 

# datetime parser 
dateparse = lambda x: pd.datetime.strptime(x, '%y/%m/%d %H:%M') 
df = pd.read_csv('./sample_data.csv',parse_dates=['DateTime'], date_parser=dateparse) 

# set size of figure 
plt.figure(figsize=(22,6)) 
# use horizontal stripplot with x marker size of 5 
sns.stripplot(y='Weather',x='DateTime', data=df, 
orient='h', marker='X', color='navy', size=5) 
# rotate x tick labels 
plt.xticks(rotation=15) 
# remover borders of plot 
plt.tight_layout() 
plt.show() 

図では、少なくとも例のデータセットを生成するために、いくつかのコードを追加した場合、それは多くの方が良いだろう Figure is clickable

関連する問題