2017-10-10 65 views
-1

這是我的數據的一個例子:繪製大小的圓形與蟒蛇在大熊貓

import pandas as pd 
mydic = {'user1': {'product': 234, 'device': 567}, 'user1': {'product': 678, 'device': 256},'user2': {'product': 890, 'device': 456},'user2': {'product': 256, 'device': 678},'user3': {'product': 456, 'device': 278}} 
df = pd.DataFrame.from_dict(mydic, orient='index', dtype=None) 
df.head() 

enter image description here

而且我可以畫出散點圖或條形圖但對於這個特殊的任務,我認爲,最好的辦法是爲每個值顯示每個值的圓圈,併爲每個用戶添加註釋。事情是這樣的:

enter image description here

我什至不知道這是可能的蟒蛇。任何人都能提出一些聰明的建議嗎

+0

如果你是谷歌的[「繪製圓蟒」](http://www.google.de/search?q=draw+circle+python),你會發現如何在Python中繪製一個圓。我們還能爲您提供什麼幫助? – ImportanceOfBeingErnest

+0

我知道這不是對你的具體問題的回答(因此評論),但我確實認爲條形圖比圓形更好。很容易看到一個圓形的兩倍,實際上它是四倍大。你可以使用seaborn:https://seaborn.pydata.org/examples/color_palettes.html 否則畫圈不是很困難。 – Wli

回答

0

可能不是最完美的解決方案,但嘗試:

%matplotlib inline 
import matplotlib.pyplot as plt 
n = len(df) 
y = range(n) 
scale = 5 
f, ax = plt.subplots(1, 1) 
ax.scatter([[1]] * n, y, s=scale * df['product']) 
for i in range(n): 
    ax.text(2, y[i], df.index[i]) 
ax.scatter([[3]] * n, y, s=scale * df['device']) 
ax.set_xlim(0, 4) 
ax.set_ylim(-1, n); 

與風格發揮得更好的輸出(你可以刪除軸和電網,改變大小和顏色):

play with numbers to get better ouput

+0

謝謝!這正是我所期待的。 – aviss