㈠ 怎麼用python開發kinect
Kinect 讓人們重新審視微軟的創新能力。Kinect
一上市就吸引了大量極客用戶。一方面,你可以用 Kincet 做出超炫的效果,比如把光棍兒變光劍,另一方面,微軟一直想把 Xbox
從游戲中心轉變成一個娛樂中心,而不僅僅是游戲機。從今年假日季開始,Xbox 360 用戶將可以通過一個界面訪問大量電視娛樂節目,你還可以通過
Kinect 動作以及語音感測器控制這個界面。
群眾的力量是無窮的,Kinect 還有更多好玩兒的用途,比如控制機器人、試衣鏡(這里有一些很贊的視頻)。今天我們來介紹一款更加方便實用的 Kincet 開發工具 PyKinect。
PyKinect 是一個編程工具,可以讓你通過 Python 編寫 Kinect 游戲。
編程後的顯示效果前後對比
直接在調試器里設定突破點和 Explore Kinect 感測器數據
環境要求:
CPython 2.7
PyGame
Kinect SDK (http://kinectforwindows.org/ 32-bit)
語音支持(Kinect for Windows Runtime Language Pack, version 0.9)
Kinect 感測器(無需 Xbox 360 就可以使用 PyKinect)
Kinect 電源/USB 適配器一個
安裝:
首先安裝好 PTVS 和一個 CPython 解譯器,然後安裝 PyGame、Kinect SDK 和 PyKinect
。為了驗證安裝是否正確,打開 Tools/Python Tools/Samples/PyKinect,你應該可以把 PyKinect
安裝到32位 Python 上:
PyKinect 目前僅支持32位 CPython
運行演示程序:
File/New project/… /Kinect Game,也就是 Kinect 上的「hello world!」:
Pykinect 和 Pygame 讓編寫 Kinect 游戲更加簡單
幾點提示:
PyKinect 不依賴於 Pygame。
目前僅支持32位 CPython。
如果你看不到輪廓跟蹤,確保你的身體在感測器范圍內。
最後,別忘了把你開發的游戲分享出來。
㈡ python可視化神器——pyecharts庫
無意中從今日頭條中看到的一篇文章,可以生成簡單的圖表。據說一些大數據開發們也是經常用類似的圖表庫,畢竟有現成的,改造下就行,誰會去自己造輪子呢。
pyecharts是什麼?
pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是網路開源的一個數據可視化 JS 庫。用 Echarts 生成的圖可視化效果非常棒, pyecharts 是為了與 Python 進行對接,方便在 Python 中直接使用數據生成圖 。使用pyecharts可以生成獨立的網頁,也可以在flask、django中集成使用。
安裝很簡單:pip install pyecharts
如需使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可,同時兼容 Python2 和 Python3 的 Jupyter Notebook 環境。所有圖表均可正常顯示,與瀏覽器一致的交互體驗,簡直不要太強大。
參考自pyecharts官方文檔: http://pyecharts.org
首先開始來繪制你的第一個圖表
使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可
add() 主要方法,用於添加圖表的數據和設置各種配置項
render() 默認將會在根目錄下生成一個 render.html 的文件,文件用瀏覽器打開。
使用主題
自 0.5.2+ 起,pyecharts 支持更換主體色系
使用 pyecharts-snapshot 插件
如果想直接將圖片保存為 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用該插件請確保你的系統上已經安裝了 Nodejs 環境。
安裝 phantomjs $ npm install -g phantomjs-prebuilt
安裝 pyecharts-snapshot $ pip install pyecharts-snapshot
調用 render 方法 bar.render(path='snapshot.png') 文件結尾可以為 svg/jpeg/png/pdf/gif。請注意,svg 文件需要你在初始化 bar 的時候設置 renderer='svg'。
圖形繪制過程
基本上所有的圖表類型都是這樣繪制的:
chart_name = Type() 初始化具體類型圖表。
add() 添加數據及配置項。
render() 生成本地文件(html/svg/jpeg/png/pdf/gif)。
add() 數據一般為兩個列表(長度一致)。如果你的數據是字典或者是帶元組的字典。可利用 cast() 方法轉換。
多次顯示圖表
從 v0.4.0+ 開始,pyecharts 重構了渲染的內部邏輯,改善效率。推薦使用以下方式顯示多個圖表。如果使是 Numpy 或者 Pandas,可以參考這個示例
當然你也可以採用更加酷炫的方式,使用 Jupyter Notebook 來展示圖表,matplotlib 有的,pyecharts 也會有的
Note: 從 v0.1.9.2 版本開始,廢棄 render_notebook() 方法,現已採用更加 pythonic 的做法。直接調用本身實例就可以了。
比如這樣
還有這樣
如果使用的是自定義類,直接調用自定義類示例即可
圖表配置
圖形初始化
通用配置項
xyAxis:平面直角坐標系中的 x、y 軸。(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 組件 用於區域縮放,從而能自由關注細節的數據信息,或者概覽數據整體,或者去除離群點的影響。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)
legend:圖例組件。圖例組件展現了不同系列的標記(symbol),顏色和名字。可以通過點擊圖例控制哪些系列不顯示。
label:圖形上的文本標簽,可用於說明圖形的一些數據信息,比如值,名稱等。
lineStyle:帶線圖形的線的風格選項(Line、Polar、Radar、Graph、Parallel)
grid3D:3D笛卡爾坐標系組配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡爾坐標系 X,Y,Z 軸配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)
visualMap:是視覺映射組件,用於進行『視覺編碼』,也就是將數據映射到視覺元素(視覺通道)
markLine&markPoint:圖形標記組件,用於標記指定的特殊數據,有標記線和標記點兩種。(Bar、Line、Kline)
tooltip:提示框組件,用於移動或點擊滑鼠時彈出數據內容
toolbox:右側實用工具箱
圖表詳細
Bar(柱狀圖/條形圖)
Bar3D(3D 柱狀圖)
Boxplot(箱形圖)
EffectScatter(帶有漣漪特效動畫的散點圖)
Funnel(漏斗圖)
Gauge(儀表盤)
Geo(地理坐標系)
GeoLines(地理坐標系線圖)
Graph(關系圖)
HeatMap(熱力圖)
Kline/Candlestick(K線圖)
Line(折線/面積圖)
Line3D(3D 折線圖)
Liquid(水球圖)
Map(地圖)
Parallel(平行坐標系)
Pie(餅圖)
Polar(極坐標系)
Radar(雷達圖)
Sankey(桑基圖)
Scatter(散點圖)
Scatter3D(3D 散點圖)
ThemeRiver(主題河流圖)
TreeMap(矩形樹圖)
WordCloud(詞雲圖)
用戶自定義
Grid 類:並行顯示多張圖
Overlap 類:結合不同類型圖表疊加畫在同張圖上
Page 類:同一網頁按順序展示多圖
Timeline 類:提供時間線輪播多張圖
統一風格
註:pyecharts v0.3.2以後,pyecharts 將不再自帶地圖 js 文件。如用戶需要用到地圖圖表,可自行安裝對應的地圖文件包。
地圖文件被分成了三個 Python 包,分別為:
全球國家地圖:
echarts-countries-pypkg
中國省級地圖:
echarts-china-provinces-pypkg
中國市級地圖:
echarts-china-cities-pypkg
直接使用python的pip安裝
但是這里大家一定要注意,安裝完地圖包以後一定要重啟jupyter notebook,不然是無法顯示地圖的。
顯示如下:
總得來說,這是一個非常強大的可視化庫,既可以集成在flask、Django開發中,也可以在做數據分析的時候單獨使用,實在是居家旅行的必備神器啊
㈢ Python模擬隨機遊走圖形效果示例
Python模擬隨機遊走圖形效果示例
本文實例講述了Python模擬隨機遊走圖形效果。分享給大家供大家參考,具體如下:
在python中,可以利用數組操作來模擬隨機遊走。
下面是一個單一的200步隨機遊走的例子,從0開始,步長為1和-1,且以相等的概率出現。純Python方式實現,使用了內建的 random 模塊:
# 隨機遊走importmatplotlib.pyplot as pltimportrandomposition=0walk=[position]steps=200foriinrange(steps): step=1ifrandom.randint(0,1)else-1 position+=step walk.append(position)fig=plt.figure()plt.title("www.jb51.net")ax=fig.add_subplot(111)ax.plot(walk)plt.show()
第二種方式:簡單的把隨機步長累積起來並且可以可以使用一個數組表達式來計算。因此,我用 np.random 模塊去200次硬幣翻轉,設置它們為1和-1,並計算累計和:
# 隨機遊走importmatplotlib.pyplot as pltimportnumpy as npnsteps=200draws=np.random.randint(0,2, size=nsteps)steps=np.where(draws >0,1,-1)walk=steps.cumsum()fig=plt.figure()plt.title("www.jb51.net")ax=fig.add_subplot(111)ax.plot(walk)plt.show()
一次模擬多個隨機遊走
# 隨機遊走importmatplotlib.pyplot as pltimportnumpy as npnwalks=5nsteps=200draws=np.random.randint(0,2, size=(nwalks, nsteps))# 0 or 1steps=np.where(draws >0,1,-1)walks=steps.cumsum(1)fig=plt.figure()plt.title("www.jb51.net")ax=fig.add_subplot(111)foriinrange(nwalks): ax.plot(walks[i])plt.show()
當然,還可以大膽的試驗其它的分布的步長,而不是相等大小的硬幣翻轉。你只需要使用一個不同的隨機數生成函數,如 normal 來產生相同均值和標准偏差的正態分布:steps=np.random.normal(loc=0, scale=0.25, size=(nwalks, nsteps))
㈣ 在Python中如何實現下面的效果
先跟你說下思路吧。
首先,找規律。每行都是從1開始,最大的數是相應的行號。這樣可以得到
nums=3
forxinrange(1,nums+1):
printrange(1,x)
#這樣就輸出了,如下
[1,]
[1,2,]
[1,2,3,]
然後,繼續。
剩下的是前面序列的反轉,但是去掉最後一個元素
line=[1,2,3,]
line_2=sorted(line[:-1],reverse=True)
#這樣line_2就是[2,1,]
new_line=line.extend(line_2)
#new_line=[1,2,3,2,1,]
最後就是輸出格式的問題了
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2014-11-30'
defdo_print(num):
forxinrange(1,num+1):
line=range(1,x+1)
line.extend(sorted(line[:-1],reverse=True))
print''*(num-x)+''.join(str(x)forxinline)
if__name__=='__main__':
do_print(5)
最後輸出結果如下:
C:Python27python.exeD:/ans_excel/prt.py
1
121
12321
1234321
123454321
㈤ python炫酷煙花表白源代碼是多少
學完本教程後,你也能做出這樣的煙花秀。
如上圖示,我們這里通過讓畫面上一個粒子分裂為X數量的粒子來模擬爆炸效果。粒子會發生"膨脹」,意思是它們會以恆速移動且相互之間的角度相等。這樣就能讓我們以一個向外膨脹的圓圈形式模擬出煙花綻放的畫面。
經過一定時間後,粒子會進入"自由落體」階段,也就是由於重力因素它們開始墜落到地面,仿若綻放後熄滅的煙花。
基本知識:用Python和Tkinter設計煙花。
這里不再一股腦把數學知識全丟出來,我們邊寫代碼邊說理論。首先,確保你安裝和導入了Tkinter,它是Python的標准GUI庫,廣泛應用於各種各樣的項目和程序開發,在Python中使用Tkinter可以快速的創建GUI應用程序。
import tkinter as tk
from PIL import Image, ImageTk
from time import time, sleep
from random import choice, uniform, randint
from math import sin, cos, radians
除了Tkinter之外,為了能讓界面有漂亮的背景,我們也導入PIL用於圖像處理,以及導入其它一些包,比如time,random和math。它們能讓我們更容易的控制煙花粒子的運動軌跡。
Tkinter應用的基本設置如下:
root = tk.Tk()
為了能初始化Tkinter,我們必須創建一個Tk()根部件(root widget),它是一個窗口,帶有標題欄和由窗口管理器提供的其它裝飾物。該根部件必須在我們創建其它小部件之前就創建完畢,而且只能有一個根部件。
w = tk.Label(root, text="Hello Tkinter!")
這一行代碼包含了Label部件。該Label調用中的第一個參數就是父窗口的名字,即我們這里用的"根」。關鍵字參數"text」指明顯示的文字內容。你也可以調用其它小部件:Button,Canvas等等。
w.pack()
root.mainloop()
接下來的這兩行代碼很重要。這里的打包方法是告訴Tkinter調整窗口大小以適應所用的小部件。窗口直到我們進入Tkinter事件循環,被root.mainloop()調用時才會出現。在我們關閉窗口前,腳本會一直在停留在事件循環。
將煙花綻放轉譯成代碼
現在我們設計一個對象,表示煙花事件中的每個粒子。每個粒子都會有一些重要的屬性,支配了它的外觀和移動狀況:大小,顏色,位置,速度等等。
㈥ python程序都能做什麼
Python可以寫後台,web工程。Python語言跟大多數的編程語言一樣,也可以寫後端也可以做web前端,可以用Python只用少量簡潔的代碼做出來一個很酷炫,很牛逼的網站。
Python可以寫爬蟲,Python是很簡潔的,你用少量的代碼輕松獲取到海量的數據。雖然java語言也可以寫爬蟲,但是相比之下,Python語言使用的代碼要少很多。
Python可以做人工智慧,這也是一個幾好玩的開發方向,不信你可以試試。
可以用Python開發游戲。
㈦ python 可視化界面怎麼做
首先,如果沒有安裝python和PyQt軟體的請先直接搜索下載並安裝。python是一個開源軟體,因此都是可以在網上免費下載的,最新版本即可。下載完成後,我們先打開PyQt designer。
2
打開後,首先是一個默認的新建窗口界面,在這里我們就選擇默認的窗口即可。
3
現在是一個完全空白的窗口。第一步我們要先把所有的設計元素都拖進這個窗口。我們先拖入一個「Label」,就是一個不可編輯的標簽。
隨後我們再拖入一個可以編輯的「Line Edit」
最後我們拖入最後一個元素:「PushButton」按鈕,也就是平時我們所點的確定。
目前我們已經把所有所需要的元素都拖入了新建的窗口。對於每一個元素,我們都可以雙擊進行屬性值的修改,此時我們僅需要雙擊改個名字即可
此時我們已經完成了一半,接下來需要對動作信號進行操作。我們需要先切入編輯信號的模式
此時把滑鼠移動到任意元素,都會發現其變成紅色,代表其被選中。
當我們選中pushbutton後,繼續拖動滑鼠指向上面的line edit,會發現由pushbutton出現一個箭頭指向了line edit,代表pushbutton的動作會對line edit進行操作。
隨即會彈出一個配置連接窗口。左邊的是pushbutton的操作,我們選擇clicked(),即點擊pushbutton。
右邊是對line edit的操作,我們選擇clear(),即清楚line edit中的內容。
最後我們點擊確定。
保存完成後,我們在PyQt中的操作就已經完成了。保存的文件名我們命名為test,PyQt生成的設計文件後綴是.ui。
㈧ 怎麼用Python製作一個好玩炫酷的GIF動態圖
importsys
importnumpyasnp
importmatplotlib.pyplotasplt
frommatplotlib.animationimportFuncAnimation
fig,ax=plt.subplots()
fig.set_tight_layout(True)
#詢問圖形在屏幕上的大小和DPI(每英寸點數)
#注意當把圖形保存為文件時,需要為此單獨再提供一個DPI
print('figsize:{0}DPI,sizeininches{1}'.format(
fig.get_dpi(),fig.get_size_inches()))
#繪制一個保持不變(不會被重新繪制)的散點圖以及初始直線
x=np.arange(0,20,0.1)
ax.scatter(x,x+np.random.normal(0,3.0,len(x)))
line,=ax.plot(x,x-5,'r-',linewidth=2)
defupdate(i):
label='timestep{0}'.format(i)
print(label)
#更新直線和軸(用一個新X軸標簽)
#以元組形式返回這一幀需要重新繪制的物體
line.set_ydata(x-5+i)
ax.set_xlabel(label)
returnline,ax
if__name__=='__main__':
#會為每一幀調用Update函數
#這里FunAnimation設置一個10幀動畫,每幀間隔200ms
anim=FuncAnimation(fig,update,frames=np.arange(0,10),interval=200)
iflen(sys.argv)>1andsys.argv[1]=='save':
anim.save('line.gif',dpi=80,writer='imagemagick')
else:
#Plt.show()會一直循環動畫
plt.show()
可以生成下面這種圖
㈨ 推薦 8 個炫酷的 Python 裝飾器
1、 lru_cache
這個裝飾器來自functools模塊。該模塊包含在標准庫中,非常易於使用。它還包含比這個裝飾器更酷的功能,但這個裝飾器是非常受人喜歡的。此裝飾器可用於使用緩存加速函數的連續運行。當然,這應該在使用時記住一些關於緩存的注意事項,但在通用使用情況下,大多數時候這個裝飾器都是值得使用的。
2、JIT
JIT是即時編譯的縮寫。通常每當我們在Python中運行一些代碼時,發生的第一件事就是編譯。這種編譯會產生一些開銷,因為類型被分配了內存,並存儲為未分配但已命名的別名,使用即時編譯,我們在執行時才進行編譯。
在很多方面,我們可以將其視為類似於並行計算的東西,其中Python解釋器同時處理兩件事以節省時間。Numba JTI編譯器因將這一概念提到Python中而聞名,可以非常輕松地調用此裝飾器,並立即提高代碼的性能。Numba包提供了JIT裝飾器,它使運行更密集的軟體變得更加容易,而不必進入C。
3、do_twice
do_twice裝飾器的功能與它的名字差不多。此裝飾器可用於通過一次調用運行兩次函數,對調試特別有用。它可以用於測量兩個不同迭代的功能。
4、count_calls
count_calls裝飾器可用於提供有關函數在軟體中使用多少次的信息。與do_twice一樣,對調試也特別有用。
5、dataclass
為了節省編寫類的時間,推薦使用dataclass裝飾器。這個裝飾器可用於快速編寫類中常見的標准方法,這些方法通常會在我們編寫的類中找到。
6、singleton
singleton是一個單例裝飾器。通常,單例裝飾器是由用戶自己編寫的,實際上並不是導入的。
7、use_unit
在科學計算中經常派上用場的一種裝飾器是use_unit裝飾器。此裝飾器可用於更改返回結果的表示單位。這對於那些不想在數據中添加度量單位但仍希望人們知道這些單位是什麼的人很有用。這個裝飾器可不是在任何模塊中真正有用,但它是非常常見的,對科學應用程序非常有用。
㈩ [python練手]使用WordCloud模塊將qq聊天記錄生成炫酷的關鍵詞雲
這個項目的github地址。 https://github.com/susususuhanmo/QQChatLogWordCloud
最近准備開始學習python,寫一個綜合一點的小demo練練手~
讀取文件
編寫清洗函數,清洗聊天數據。主要是需要清洗掉一些無用的關鍵詞:
分詞,分詞結果如果出現一些特有的詞語截了一半或者截多了幾個字元的情況,可以手動添加分詞詞庫。
根據關鍵詞數據,建立pandas的DataFrame,通過停詞詞庫過濾掉一些中文中不適合做關鍵詞的詞語,進行關鍵詞數統計並根據次數排序。
詞雲屬性解釋
調整成120之後就好看很多,有很明顯的差別。
設置圖片為可愛的莫古力
根據這個莫古力的顏色分布,生成的詞雲如下,我這個不是特別好看,大家可以選擇輪廓明顯一點的圖片來生成。
相比默認的模式,
關於更詳細的詞雲配置可以看這篇文章,這個作者對wordcloud的配置講解的十分詳細。
https://blog.csdn.net/heyuexianzi/article/details/76851377
在你想導出的人或群處右鍵,點導出消息記錄,
然後選擇txt格式