[英]Scatter plot with only categorical data
我想繪制一個散點圖,以可視方式表示形式的數據點(字符串,字符串)。 其中每個坐標是從一組給定的String值中獲取的字符串,其中X軸一組,Y軸一組。 我在尋找一個庫-可能是python-時遇到麻煩,該庫僅表示分類數據(無數值)。
我曾嘗試使用Seaborn swarmplot,但似乎至少有一個坐標必須是數字。
我知道具有兩個相同坐標的點會發生碰撞,我希望找到一個將這些點表示為相鄰點的庫(類似簇)。
謝謝。
熊貓是一個很棒的圖書館。
您可以使用分類變量創建一個數據框(請注意創建數據框的dtype='category'
參數),然后獲取每個分類變量的數字代碼,並使用pandas本身或matplotlib或任何您喜歡的散點圖。
例:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'col1': list('abcab'), 'col2': list('acbbb')}, dtype='category')
In [3]: df
Out[3]:
col1 col2
0 a a
1 b c
2 c b
3 a b
4 b b
In [4]: df_num = df.apply(lambda x: x.cat.codes)
In [5]: df_num
Out[5]:
col1 col2
0 0 0
1 1 2
2 2 1
3 0 1
4 1 1
In [6]: df_num.plot.scatter('col1', 'col2')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.