Python之图表、二维码生成

一、生成二维图表

1、首先安装numpy和matplotlib库

img_6b18781bb9ae01362dd3ae62e2c7a4cd.png
图1

2、直接上代码啦

#coding:utf-8

importnumpyasnp

importmatplotlib.pyplotasplt

plt.figure(1)# 创建图表1

plt.figure(2)# 创建图表2

ax1 = plt.subplot(211)# 在图表2中创建子图1

ax2 = plt.subplot(212)# 在图表2中创建子图2

x = np.linspace(0,3,100)#0开始 3结束  100个数

foriinrange(3):

    plt.figure(1)# # 选择图表1

    plt.plot(x,np.exp(i*x/3))

    plt.sca(ax1)# # 选择图表2的子图1

    plt.plot(x,np.sin(i*x))

    plt.sca(ax2)# 选择图表2的子图2

    plt.plot(x,np.cos(i*x))

plt.show()

3、效果图


img_7659b9c60e02c607765d0f40fe61db77.png
图2
img_46f96605ca0927a20ebec9d3c9e50b60.png
图3

二、生成三维图表

1、在上面的基础包上增加一条:from mpl_toolkits.mplot3d import Axes3D

实例代码如下:

#coding:utf-8

importnumpyasnp

importmatplotlib.pyplotasplt

frommpl_toolkits.mplot3dimportAxes3D

#三维图

fig = plt.figure()

ax = Axes3D(fig)

X = np.arange(-4,4,0.5)  #第一个参数为起点,第二个参数为终点,第三个参数为步长

Y = np.arange(-4,4,0.5)

X,Y = np.meshgrid(X,Y)  #接收两个一维数组,并产生两个二维矩阵

R = np.sqrt(X**2+ Y**2)  #返回数字x的平方根。

Z = np.sin(R)   #对R元素取正弦

# 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface)

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap='rainbow')  #绘面

plt.show()

其中:ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')    表示绘面

ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r')    表示绘点

2、效果图

img_e073a22cdc04cea3871bd44530f86232.png
图4

参考网址:1、各种3d画图参考网站

                     2、其他种类图参考网站

三、生成二维码

1、生成二维码的步骤

    1>. 创建QRCode对象

    2>. add_data()添加数据

    3>. make_image()创建二维码(返回im类型的图片对象)

    4>. 自动打开图片,im.show()

首先安装qrcode包,如下

img_f19e037fa783d2ab7e558379e291bf35.png
图5

2、手动输入网址并将网站URL地址生成二维码图片,以.png的形式保存图片到本地文件夹,自动显示生成结果。

# -*- coding: utf-8-*-

importqrcode

qr = qrcode.QRCode(

        version=1,# 二维码矩阵尺寸

        error_correction=qrcode.constants.ERROR_CORRECT_H,# 二维码容错率

        box_size=10,# 二维码中每个Box的像素值

        border=4,# 二维码与图片边界的距离,默认为4

)

data =input('please input string:')

img_file =r'D:\work\test\py_qrcode.png'

img = qrcode.make(data)

img.save(img_file)# 图片数据保存至文件夹内

img.show()# 显示二维码图片

其中:

version:一个整数,范围为1到40,表示二维码的大小(最小值是1,是个12×12的矩阵),如果想让程序自动生成,将值设置为 None 并使用 fit=True 参数即可。

error_correction:二维码的纠错范围,可以选择4个常量

ERROR_CORRECT_L7%以下的错误会被纠正

ERROR_CORRECT_M (default)15%以下的错误会被纠正

ERROR_CORRECT_Q   25%以下的错误会被纠正

ERROR_CORRECT_H.30%以下的错误会被纠正

boxsize:每个点(方块)中的像素个数

border:二维码距图像外围边框距离,默认为4,而且相关规定最小为4

3、实验效果:

img_39e7dc40e252a31df54edeb080cd443e.png
图6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值