知识点多内容繁
先上效果图
先分析图形知识点
- 确定画布
#创建画布
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(max(U))
- 准备作图的画布
plt.subplot(111)
- 写出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)
- 画出U、I图像
plt.plot(U,I,'o-',label='R')
- 画出水平轴垂线,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]],'--')
- 画出竖直轴垂线,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]],'--')
- 结束制作,希望以上代码对你有所启发!加油!
以上是全部源代码
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()