python 图像字符绘制input描述_Python使用matplotlib绘制卡通、手绘风格的图像

本文首发地址:

https://yishuihancheng.blog.csdn.net/article/details/99462001

欢迎关注我的博客【Together_CZ】,我是沂水寒城!

博主已经开通微信公众号啦,欢迎关注哈!

38d038efae92b8dcb21dedd7d6a33446.png

入门数据科学这一行以来,陆陆续续学到了很多专业领域的知识,数据可视化就是其中的一部分,在Python中提供数据可视化的工具也不少,但是最为著名的莫过于matplotlib了,该模块提供了很高级和非常友好的使用方式,使用起来也是非常方便的,可以绘制出来很多漂亮美观的图像。

我们手工绘制的图像自然是没有办法跟计算机绘制的图像相提并论了,这倒不是说我们手工绘制的不如机器绘制的,而是因为二者的对比不在一个尺度上面,如果说要论专业性的话我们肯定是比不过机器的,毕竟机器就是专门用来计算的;但是如果说要论想象力或者是审美性的话,机器绘图的能力可能就没有那么强大或者是不如我们的了。

今天花了点时间来体验一把matplotlib带来的快感,因为我突然发现matplotlib可以绘制卡通、手绘风格的图像,这个真的是很不错的了,当然要来尝试尝试了。

我们从最简单的散点图开始演示,具体实现如下:

def scatterDemo(): ''' 散点图 ''' x=list(linspace(0,10)) y=list(sin(linspace(0,10))) plt.figure(figsize=(10,6)) plt.subplot(1,2,2) plt.scatter(x,y,marker='o',color='green',s=40,label='Serious') plt.xlabel('Serious') plt.xkcd() plt.subplot(1,2,1) plt.scatter(x,y,marker='+',color='y',s=40,label='Play') plt.xlabel('Play') plt.show()

结果如下:

afd29a772e086272c7932d2db19b2185.png

接下来我们先拿正弦曲线来做演示,具体实现如下:

def simpleDemo1(): ''' 简单的手绘风格与原始风格对比下的正弦曲线 ''' plt.figure(figsize=(10,6)) plt.subplot(1,2,2) plt.plot(sin(linspace(0, 10))) plt.xlabel('Serious') plt.xkcd() plt.subplot(1,2,1) plt.plot(sin(linspace(0, 10))) plt.xlabel('Play') plt.show()

结果如下:

cbe96a859e197e42cd4cbc402a21cb7f.png

看到这里你们的第一印象是什么呢?会觉得左边的好还是右边的好呢?

接下来我们绘制一个经典的统计学分布模型——泊松分布,具体代码实现如下:

def histDemo(): ''' 直方图Demo ''' data=np.random.poisson(lam=5,size=200) mean=sum(data)/len(data) data_range=(min(data),max(data)) poisson=scipy.stats.poisson(mean) x=range(data_range[0], data_range[1]+1) poisson_distri=poisson.pmf(x) plt.figure(figsize=(10,6)) plt.subplot(1,2,2) plt.hist(data,normed=True,bins=max(data)+1,range=(-0.5,max(data)+0.5),color='green') plt.plot(poisson_distri,'o-') plt.title('poissonDistrbution') plt.xlabel('Serious') plt.xkcd() plt.subplot(1,2,1) plt.hist(data,normed=True,bins=max(data)+1,range=(-0.5,max(data)+0.5),color='green') plt.plot(poisson_distri,'o-') plt.title('poissonDistrbution') plt.xlabel('Play') plt.show()
61904b4b45f1c23d3a4285b8fae7803f.png

同样的问题:看到这里你们的第一印象是什么呢?会觉得左边的好还是右边的好呢?

提到泊松分布就不得不提及我们使用频度非常高的另一个分布——正态分布模型,我们看下面的具体实现:

def normDemo(num=1000): ''' 正态分布 ''' data=np.random.randn(num) plt.figure(figsize=(10,6)) plt.subplot(1,2,2) plt.hist(data,bins=40,normed=0,facecolor="g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值