Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Streamlit颜色选择器

Streamlit颜色选择器

作者头像
磐创AI
发布于 2024-04-15 09:11:20
发布于 2024-04-15 09:11:20
36900
代码可运行
举报
运行总次数:0
代码可运行
Streamlit是一个流行且强大的基于Python的开源框架,允许你快速轻松地创建交互式数据科学仪表板并部署机器学习模型。

Streamlit的一个有用功能是颜色选择器工具。这使你可以通过让用户选择任何颜色,而不是使用默认的硬编码颜色,为你的仪表板添加灵活性。

这个简短的教程将向你展示如何在仪表板内部轻松实现Streamlit颜色选择器小部件。

如果你是第一次接触Streamlit,你可能想查看我的以前的Streamlit教程,以帮助你入门:

  • 从零开始创建基于Web的Streamlit应用:https://towardsdatascience.com/getting-started-with-streamlit-web-based-applications-626095135cb8
  • 创建真正的多页面Streamlit应用 - 新方法(2022):https://towardsdatascience.com/creating-true-multi-page-streamlit-apps-the-new-way-2022-b859b3ea2a15
  • 初学Streamlit:入门时需要了解的5个函数:https://towardsdatascience.com/getting-started-with-streamlit-5-functions-you-need-to-know-when-starting-out-b35ed7d872b9
安装Streamlit

如果你尚未安装Streamlit库,你可以在终端或命令提示符中使用以下命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install streamlit

安装完Streamlit后,我们可以创建一个名为app.py的新文件。这就是我们将添加代码的地方。

导入库

第一步是导入一些库:Streamlit、numpy、pandas和matplotlib。

我们将使用numpy和pandas创建一些示例数据,并使用matplotlib生成该数据的散点图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import streamlit as st
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
创建数据

接下来,我们需要创建一些虚拟数据,以DataFrame的形式存在。

为此,我们首先创建一个包含100行和3列的0到100之间的随机整数的numpy数组。这将为我们提供足够在图上显示的数据。还要注意,每次使用这个函数重新运行应用程序时,数据都会更改。如果我们不希望发生这种情况,我们需要添加一行代码来设置随机种子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
np.random.seed(42)

然后,我们将此数组传递到pd.DataFrame,并将字母A、B和C分配为列名。这将在以后引用这些列时更加方便。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
arr_random = np.random.randint(low=0, high=100, size=(100,3)) 0, high=100, size=(100,3)) 

data_to_plot = pd.DataFrame(arr_random, columns=["A","B","C"])
设置Streamlit页面

接下来的部分是设置我们的Streamlit应用程序。对于这个示例,我们将保持非常基本。

首先,我们将创建一个标题st.header(),然后创建一个新变量来存储用户的颜色选择。这个变量通过st.color_picker()来分配。我们只需要传入一个标签名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
st.header('Streamlit Colour Picker for Charts')'Streamlit Colour Picker for Charts')

user_colour = st.color_picker(label='Choose a colour for your plot')

要了解有关颜色选择器小部件的更多信息,请查看下面的文档页面。

https://docs.streamlit.io/library/api-reference/widgets/st.color_picker?

设置Matplotlib图形

现在,我们需要使用matplotlib创建我们的图形。这可以通过设置fig和ax变量,并将它们分配给plt.subplots()来实现。在这个函数中,我们只需要传入1,1,以表示我们正在创建一个有1行和1列的图形。

接下来,我们将调用ax.scatter,并将上面创建的user_colour变量传递给c(颜色)参数。

最后,为了让Streamlit显示matplotlib的散点图,我们需要调用st.pyplot(),并传入fig变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig, ax = plt.subplots(1,1)
ax.scatter(x=data_to_plot['A'], y=data_to_plot['B'], c=user_colour)

st.pyplot(fig)
运行Streamlit应用程序

现在基本代码已经编写完毕,我们可以运行Streamlit应用程序。为此,我们需要在终端中输入以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
streamlit run app.py

然后它将在你的默认浏览器中启动Streamlit。

启动后,我们将看到带有颜色选择器工具和matplotlib图形的基本应用程序。

带有基本matplotlib图形和颜色选择器的Streamlit应用程序。图片由作者提供。要更改颜色,我们需要点击颜色框并选择新颜色。一旦点击颜色选择器框外部,图表将会使用新颜色进行更新。

将Streamlit颜色选择器的默认值设置为默认值

默认情况下,颜色选择器将设置为黑色(#000000)。我们可以通过将我们自己的十六进制代码传递给st.color_picker()函数的value参数来进行设置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
user_colour = st.color_picker(label='Choose a colour for your plot', 
                              value='#1F9A2E')

下次启动应用程序时,选择器的颜色将默认为设置的值。

总结

在这个简短的教程中,我们看到了如何在Streamlit仪表板中添加一个交互式的颜色选择器。这样可以避免硬编码颜色,使你能够为仪表板用户提供更多的灵活性。实现起来非常简单,可以为你的Streamlit创建增加更多的可用性。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
盘点Python 63个内置函数
判断对象是否可以被调用,能被调用的对象就是一个callable 对象,比如函数 str, int 等都是可被调用的,但是例子4 中xiaoming这个实例是不可被调用的:
double
2019/10/29
3540
最全Python内置函数
判断真假,  True:真  ,  False:假,   把一个对象转换成bool值
Wyc
2018/09/11
6520
python3内置函数大全
由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数
py3study
2020/01/13
1.1K0
Python内置函数
所谓内置函数,就是无需import,就可以直接使用的函数 1. python2 & python3 内置函数统计 python2: 76 个 python3: 69 个 2. Python2与Python3公有的内置函数 2.1 数学计算(7个) 序号 函数 作用 示例 1 abs() 求绝对值 >>> abs(-1)1 2 round() 将小数四舍五入,默认保留0位小数 >>> round(1.4)1 >>> round(1.55, 1)1.6 3 pow() 指数求幂, 等价于幂运算符: x**
我是一条小青蛇
2019/10/23
6950
python 内置函数
基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。
py3study
2018/08/02
7920
Python内置函数详解【翻译自pyth
翻译源 来自:https://docs.python.org/3/library/functions.html 
py3study
2020/01/13
1.5K0
Python 100 例
如果参数是字符串,那么它可能包含符号和小数点。如果超出普通整数的表示范围,一个长整数被返回。
double
2020/06/11
7.5K0
Python要点总结,我使用了100个小例子!
类型检查是一个验证和施加类型约束的过程,编译器或解释器通常在编译或运行阶段做类型检查。例如,你不能拿一个string类型值除以浮点数。
石晓文
2019/11/12
6200
【Python入门】Python 63个内置函数超级详解
Python内置了一些非常精巧且强大的函数,对初学者来说,一般不怎么用到,但是偶尔会碰到,我也是用了一段时间python之后才发现,卧槽,还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函数,不用自己闭门造车,并且代码简洁易读了很多,真是方便又实用,值得花时间进行体系化研究学习。
黄博的机器学习圈子
2020/05/26
8130
【Python入门】Python 63个内置函数超级详解
python初学者必须吃透的这些内置函数
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常精巧且强大的,对初学者来说,经常会忽略,但是偶尔会碰到,我也是用了一段时间python之后才发现,还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函数,不用自己闭门造车,并且代码简洁易读了很多,真是方便又实用,值得花时间进行体系化研究学习。
程序员小新
2021/12/20
8200
python初学者必须吃透的这些内置函数
Python 内建函数大全
Python 解释器内置了许多函数和类型,列表如下(按字母排序)(省略了几个我没用过或者不常用的)。
Python数据科学
2018/08/06
2K0
Python 内建函数大全
详解Python 66 个内置函数!附代码
2.all(iterable): 如果可迭代对象中所有元素都为真,则返回True;否则返回False。
数据STUDIO
2024/02/26
5590
详解Python 66 个内置函数!附代码
python内置函数大全
 数学运算 abs:求数值的绝对值 >>> abs(-2) 2 divmod:返回两个数值的商和余数 >>> divmod(5,2) (2, 1) >> divmod(5.5,2) (2.0, 1.5) max:返回可迭代对象中的元素中的最大值或者所有参数的最大值 >>> max(1,2,3) # 传入3个参数 取3个中较大者 3 >>> max('1234') # 传入1个可迭代对象,取其最大元素值 '4' min:返回可迭代对象中的元素中的最小值或者所有参数的最小值 >>> min(1,2,3
人生不如戏
2018/04/12
2.9K0
干货分享 | Python练手 "小例子" 闯关60题!
int(x, base =10) , x可能为字符串或数值,将x 转换为一个普通整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出了普通整数的表示范围,一个长整数被返回。
用户6888863
2021/07/19
3700
一文入门Python 3
Python 是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 由 Guido van Rossum 于 1989 年底在荷兰国家数学和计算机科学研究所发明,第一个公开发行版发行于 1991 年。
zenRRan
2018/08/22
1.2K0
一文入门Python 3
python3--列表推导式,生成器表达式,内置函数
3,python不但使用迭代器协议,让for循环变得更加通用,大部分内置函数,也是使用迭代器协议访问对象的,例如sum函数是python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协议,所以,我们可以直接这样计算一系列值的和
py3study
2018/08/02
2.5K0
python3 内置函数详解
内置函数详解 abs(x) 返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小。 # 如果参数是复数,则返回其大小。 >>> abs(-25) 25 >>> abs(25) 25 all(iterable) all()会循环括号内的每一个元素,如果括号内的所有元素都是真的,或者如果iterable为空,则返回True,如果有一个为假的那么就返回False >>> all([]) True >>> all([1,2,3]) True >>> all([1,2,""]) Fa
程序员同行者
2018/06/22
9560
6.python内置函数
1. abs() 获取绝对值 >>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10 2. all()   参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False. all(['python',123]) --->True all([]) --->True all([0]) --->False all(" ") --->True all(1,' ',2,None) --->False 3.a
zhang_derek
2018/04/11
7760
6.python内置函数
[第三周]Python内置函数功能汇总
3.5版本中的68个内置函数分类(https://blog.csdn.net/oaa608868/article/details/53506188)
OrekiShiko
2019/03/18
7810
[第三周]Python内置函数功能汇总
Python 内置函数 Python builtins 模块
参考链接: int上的Python位函数(bit_length,to_bytes和from_bytes)
用户7886150
2020/12/19
4570
相关推荐
盘点Python 63个内置函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验