简单学Python做一个可交互的图结合ipywidgets库

前面我们学过用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"])

效果如下,图片样式的变化很多,这里限于篇幅,只展示两幅:

简单学Python做一个可交互的图结合ipywidgets库

简单学Python做一个可交互的图结合ipywidgets库

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

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注