前面我们学过用matplotlib库做各种图,虽然做出来的图表样式很多,但是有一个不足:图片完全静止,不能交互,想让图片变化,那就要改代码。如果有一些控件能方便更改图片该多好啊。正好有这么一个库,可以实现以上功能,今天就把它介绍给大家:ipywidgets。
下面就用代码实现,今天的代码有些特殊,一些变量用的中文命名,这样大家更容易理解,也顺便挑战一下中文编程哈哈!
注意事项:可交互图是用widgets.interactive()方法实现的,括号里面第一项为函数,这次用的函数为自编画图函数,括号里的其他参数是给画图函数传递的参数,根据参数数据类型的不同,生成的控件样式也不同。
代码如下:
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
#显示汉字(否则汉字会显示乱码)
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
def pic(长,宽,标题显示,标题文本,线条颜色,x的系数,常数项):
x=np.array([-5,-4,-3,-2,-1,0,1,2,3,4,5])
y=x的系数*x*x-常数项
plt.figure(figsize=(长, 宽))
plt.plot(x,y,c=线条颜色)
if 标题显示==True:
plt.title(标题文本)
widgets.interactive((pic), 长=[6,8,10,12,14,16],宽=[3,4,5,6,7],
标题显示=True, 标题文本="这是一个可交互的图",x的系数=[1,2,3],
常数项=(50,150,25), 线条颜色=["r", "g"])
效果如下,图片样式的变化很多,这里限于篇幅,只展示两幅:


发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75031
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!