2016-05-12 86 views
0

是否可以將單個值繪製爲散點圖? 我可以很好地通過使用標記獲取ccdfs來繪製它,但我想知道是否有其他替代方法可用?單變量類別散點圖熊貓

輸入:

輸入1

tweetcricscore 51 high active 

輸入2

tweetcricscore 46 event based 
tweetcricscore 12 event based 
tweetcricscore 46 event based 

輸入3

tweetcricscore 1 viewers 
tweetcricscore 178 viewers 

輸入4

tweetcricscore 46 situational 
tweetcricscore 23 situational 
tweetcricscore 1 situational 
tweetcricscore 8 situational 
tweetcricscore 56 situational 

我可以bokehpandas使用xy值有非常多寫散點圖代碼。但在單一價值的情況下?

當所有輸入合併爲一個輸入並將按col[3]分組時,值爲col[2]

下面的代碼是將數據與2個變量

​​

樣本輸出

enter image description here

+1

對於scetterplot你說你想擁有如X軸和什麼y軸。或者,你可能有一個帶有類別/等的「barplot」。名稱爲x軸。 – MaxU

+0

是的,它很清楚有散點圖x和y是需要的。但在這種情況下,我有單變量數據作爲不同類別的輸出。線和酒吧非常普遍。我試圖找到一個更好的可視化類型。 –

+0

@MaxU不繪製條形圖的另一個原因是輸入範圍爲1到1000的值 –

回答

1

UPDATE:

看看BokehSeaborn畫廊 - 它可以幫助你瞭解什麼樣的情節符合您的需求

,你可以嘗試violinplot這樣的:

sns.violinplot(x="category", y="val", data=df) 

enter image description here

或熱圖:

import numpy as np 
import pandas as pd 
from bokeh.charts import HeatMap, output_file, show 

cats = ['active', 'based', 'viewers', 'situational'] 
df = pd.DataFrame({'val': np.random.randint(1,100, 1000), 'category': np.random.choice(cats, 1000)}) 

hm = HeatMap(df) 
output_file('d:/temp/heatmap.html') 
show(hm) 
+0

羣情如何? –

1

設置你可以嘗試boxplotviolinplot。或者,如果您不喜歡這些,只想要點的垂直分佈,則可以強制散點圖沿着一個x值進行繪圖。要做到這一點,你需要創建一個固定值的陣列(比如1),這是相同的長度,你會被繪製數組:

ones = [] 
for range(len(data)): 
    ones.append(1) 

plt.scatter(ones,data) 
plt.show() 

這會給你這樣的:

enter image description here

+0

謝謝Grr的解決方案。這不是關於不喜歡線條或條形圖。它只是因爲它們太常見了,並且想要搜索是否有更多有趣的可視化出現在我應該知道的地方。 –

+0

不繪製條形圖的另一個原因是輸入範圍爲1到1000的值 –

+0

羣體情節如何? –