python编程:用matplotlib画函数图像

一、编程目的:

1、绘制饼图

2、绘制函数图像

3、绘制求解非线性方程组

4、绘制气泡图

二、编程环境:

1、python3+pycharm

2、导入模块:

扩展库numpy

扩展库scipy

三、编程效果:

《python编程:用matplotlib画函数图像》
《python编程:用matplotlib画函数图像》

四、编程代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np                    #导入扩展库numpy(数组、函数等)
from scipy.optimize import fsolve    #导入扩展库scipy(求解线性方程组,矩阵、数值计算等)
import scipy
from scipy import integrate          #导入扩展库scipy(积分函数)
import matplotlib.pyplot as plt       #导入扩展库matplotlib(数据可视化、作图工具等)

plt.rcParams['font.sans-serif'] = ['SimHei']      #图像中正常显示中文字体

def f1():
    #绘制饼图
    labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
    sizes = [15, 30, 45, 10]
    explode = (0, 0.1, 0, 0)
    fig1, ax1 = plt.subplots()
    ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
            shadow=True, startangle=90)
    ax1.axis('equal')
    plt.title('饼图')                  # 标题
    plt.show()


def f2():
    #绘制函数图形
    x = np.linspace(0,20,1000)         #作图的自变量x
    y = np.sin(x) + 1                   #因变量y
    z = np.cos(x**3) + 1                #因变量z
    plt.figure(figsize=(8,4))           #设置图像大小
    plt.plot(x,y,label = '$\sinx+1$',color = 'red',linewidth = 2)  #作图,设置标签、线条颜色、线条大小
    plt.plot(x,z,'b--',label = '$\cosx^3+1$',linewidth = 1)                      #作图,设置标签、
    plt.xlabel('Times(s)')            #x轴名称
    plt.ylabel('Volt')                 #y轴名称
    plt.title('函数图像')              #标题
    plt.ylim(0,2.2)                     #y轴的范围
    plt.legend()                        #显示图例
    plt.show()                          #显示作图结果

def f3():
    #求解非线性方程组
    def f(x):
        x1 = x[0]
        x2 = x[1]
        return [2*x1-x2**2-1,x1**2-x2-2]
    result = fsolve(f,[1,1])
    print(result[0],result[1])
    x = np.linspace(0,20,1000)          #作图的自变量x
    y = np.sqrt(2*x-1)                  #因变量y
    z = np.square(x)-2                  #因变量z
    plt.figure(figsize=(8,4))           #设置图像大小
    plt.plot(x,y,label = '$\sinx+1$',color = 'red',linewidth = 2)  #作图,设置标签、线条颜色、线条大小
    plt.plot(x,z,'b--',label = '$\cosx^3+1$',linewidth = 1)                      #作图,设置标签、
    plt.xlabel('Times(s)')            #x轴名称
    plt.ylabel('Volt')                 #y轴名称
    plt.title('求解非线性方程组')     #标题
    plt.ylim(0,2.2)                     #y轴的范围
    plt.legend()                        #显示图例
    plt.show()                          #显示作图结果

def f4():
    #随机气泡图
    N = 50
    x = np.random.rand(N)
    y = np.random.rand(N)
    colors = np.random.rand(N)
    area = np.pi * (15 * np.random.rand(N))**2  # 0 to 15 point radii
    plt.scatter(x, y, s=area, c=colors, alpha=0.5)
    plt.title('气泡图')               # 标题
    plt.show()

f1()
f2()
f3()
f4()

《python编程:用matplotlib画函数图像》
《python编程:用matplotlib画函数图像》
《python编程:用matplotlib画函数图像》
《python编程:用matplotlib画函数图像》

    原文作者:Python编程学苑
    原文地址: https://zhuanlan.zhihu.com/p/36802563
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞