python简单代码画笑脸(python做简单的笑脸的编程)
用Python画图
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?
搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。
??它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
turtle.forward(200)
turtle.left(170)
第一个命令是移动200个单位并画出来轨迹
第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度
然后呢? 循环重复就画出来这个图了
好玩吧。
有需要仔细研究的可以看下这篇文章 ,这个牛人最后用这个库画个移动的钟表,太赞了。
Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。
Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。
使用起来也挺简单,
首先import matplotlib.pyplot as plt?导入画图的图。
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来。
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 这篇文章里介绍的很详细。
现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的。
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
然后呢,我在上篇文章 中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛
plt.plot(df['time'], df['Ahr999'])
图形如下:
但是,Ahr999指数怎么就一条线不动啊,?原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")? #?绘制第一个图比特币价格
ax1.set_ylabel('BTC price') #?加上标签
# 第二个直接对称就行了
ax2 = ax1.twinx()#?在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")??#?绘制第二个图Ahr999指数,红色
ax2.set_ylim([0, 50])# 设定第二个Y轴范围
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
plt.show()
跑起来看看效果,虽然丑了点,但终于跑通了。
这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。
有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。
micro:bit显示表情的代码
micro:bit显示表情的代码。python绘制表情包笑脸_?micro:bit学micro:bit显示表情Python——阵列显?,情符号“笑脸跳。。。
求一个python编写一个类的代码
一个用字符展示表情的类,传入参数次数,可使用方法smile, dizzy, peace, greedy, nerd
这个里面代码都没空格,请自行加空格或分隔符
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
class code_emoji():
def __init__(self, n):
self.number = n
self.code = [94, 95, 118, 62, 60, 39, 36]
def __str__(self):
return 'this is just a code emoji class!'
def __order(self, func):
func = getattr(func, '__name__')
if func == "smile":
return [self.code[0], self.code[1], self.code[0]]
elif func == "peace":
return [self.code[2], self.code[1], self.code[2]]
elif func == "dizzy":
return [self.code[3], self.code[1], self.code[4]]
elif func == "greedy":
return [self.code[-1], self.code[1], self.code[-1]]
elif func == "nerd":
return [self.code[-2], self.code[1], self.code[-2]]
def smile(self):
print "\n笑脸"
for i in xrange(self.number):
print "".join([chr(i) for i in self.__order(self.smile)])
def dizzy(self):
print "\n晕"
for i in xrange(self.number):
print "".join([chr(i) for i in self.__order(self.dizzy)])
def peace(self):
print "\n平静"
for i in xrange(self.number):
print "".join([chr(i) for i in self.__order(self.peace)])
def greedy(self):
print "\n贪婪"
for i in xrange(self.number):
print "".join([chr(i) for i in self.__order(self.greedy)])
def nerd(self):
print "\n毫无波动"
for i in xrange(self.number):
print "".join([chr(i) for i in self.__order(self.nerd)])
if __name__ == '__main__':
a = code_emoji(2)
a.smile()
a.dizzy()
a.peace()
a.greedy()
a.nerd()
程序运行结果:
C:\Python27\python.exe G:/windows_code/python/threat/just_test.py
笑脸
^_^
^_^
晕
_
_
平静
v_v
v_v
贪婪
$_$
$_$
毫无波动
'_'
'_'
Process finished with exit code 0