一个下午教你玩转 物理电流电压关系 效果图学会matplotlib

知识点多内容繁

先上效果图
在这里插入图片描述

先分析图形知识点

  1. 确定画布
#创建画布
fig = plt.figure()

  1. 完成画图对象的赋值
#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)
#将绘图区对象添加到画布中
fig.add_axes(ax)
  1. 画有箭头的坐标轴
#通过set_axisline_style方法设置绘图区的底部及左侧坐标轴样式
#"-|>"代表实心箭头:"->"代表空心箭头
ax.axis["bottom"].set_axisline_style("-|>", size = 1.5)
ax.axis["left"].set_axisline_style("->", size = 1.5)
  1. 隐藏不用坐标轴
#通过set_visible方法设置绘图区的顶部及右侧坐标轴隐藏
ax.axis["top"].set_visible(False)
ax.axis["right"].set_visible(False)
  1. 获取电压列表,获得随机电压列表
U=np.random.randint(3,8,size=5)
print(U)
I=U/10

  1. 从列表中选择最大的电压值
print(max(U))
  1. 准备作图的画布
plt.subplot(111)
  1. 写出x,y轴的坐标标签
plt.text(max(U)+0.3,0,'U/(V)',fontsize=11.5)
plt.text(-1.0,max(I)+0.055, 'I/(A)', fontsize=11.5)
  1. 画出U、I图像
plt.plot(U,I,'o-',label='R')
  1. 画出水平轴垂线,4条线
plt.plot([U[0],U[0]],[0,I[0]],'--')
plt.plot([U[1],U[1]],[0,I[1]],'--')
plt.plot([U[2],U[2]],[0,I[2]],'--')
plt.plot([U[3],U[3]],[0,I[3]],'--')
  1. 画出竖直轴垂线,4条线
plt.plot([0,U[0]],[I[0],I[0]],'--')
plt.plot([0,U[1]],[I[1],I[1]],'--')
plt.plot([0,U[2]],[I[2],I[2]],'--')
plt.plot([0,U[3]],[I[3],I[3]],'--')

  1. 结束制作,希望以上代码对你有所启发!加油!

以上是全部源代码

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei'
import numpy as np
import mpl_toolkits.axisartist as axisartist

#创建画布
fig = plt.figure()

#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)
#将绘图区对象添加到画布中
fig.add_axes(ax)

#通过set_axisline_style方法设置绘图区的底部及左侧坐标轴样式
#"-|>"代表实心箭头:"->"代表空心箭头
ax.axis["bottom"].set_axisline_style("-|>", size = 1.5)
ax.axis["left"].set_axisline_style("->", size = 1.5)



#通过set_visible方法设置绘图区的顶部及右侧坐标轴隐藏
ax.axis["top"].set_visible(False)
ax.axis["right"].set_visible(False)
#----计算电阻---
U=np.random.randint(3,8,size=5)
print(U)
I=U/10
print(I)
print(max(U))
plt.subplot(111)
plt.text(max(U)+0.3,0,'U/(V)',fontsize=11.5)
plt.text(-1.0,max(I)+0.055, 'I/(A)', fontsize=11.5)
plt.plot(U,I,'o-',label='R')
plt.plot([U[0],U[0]],[0,I[0]],'--')
plt.plot([U[1],U[1]],[0,I[1]],'--')
plt.plot([U[2],U[2]],[0,I[2]],'--')
plt.plot([U[3],U[3]],[0,I[3]],'--')

plt.plot([0,U[0]],[I[0],I[0]],'--')
plt.plot([0,U[1]],[I[1],I[1]],'--')
plt.plot([0,U[2]],[I[2],I[2]],'--')
plt.plot([0,U[3]],[I[3],I[3]],'--')

plt.legend(loc='lower right')
plt.title('---电流电压关系图像',loc='right',fontsize=15)
plt.show()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值