python画函数图像 保留_python编程:用matplotlib画函数图像

一、编程目的:

1、绘制饼图

2、绘制函数图像

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

4、绘制气泡图

二、编程环境:

1、python3+pycharm

2、导入模块:

扩展库numpy

扩展库scipy

三、编程效果:

四、编程代码:

#!/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()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值