㈠ 怎么用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格式