首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年02月 Python工具集合-Plotly图表可视化

【愚公系列】2023年02月 Python工具集合-Plotly图表可视化

作者头像
愚公搬代码
发布于 2023-03-16 09:24:22
发布于 2023-03-16 09:24:22
64500
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行

文章目录


前言

Plotly是一个开源的数据可视化库,可以帮助分析和可视化数据,从而更好地了解其中的趋势和模式。

plotly.py 是一个交互式、开源和基于浏览器的 Python 图形库✨

建立在 plotly.js 之上,是一个高级的声明性图表库。plotly.js 附带 30 多种图表类型,包括科学图表、3D 图形、统计图表、SVG 地图、财务图表等。plotly.py

plotly.py是麻省理工学院许可的。绘图可以在Jupyter笔记本,独立的HTML文件中查看,也可以集成到Dash应用程序中。

Plotly源码网址:https://github.com/plotly/plotly.py

Plotly文档:https://plotly.com/python/

一、Plotly图表可视化

1.安装包

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

2.折线图

折线图可以用来表示两个或多个变量之间的关系,帮助用户快速理解数据的趋势,从而做出相应的决策。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


N = 100
# linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
random_x = np.linspace(0,1,N)
# 0-1的正态分布曲线,np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,概率为百分95
random_y0 = np.random.randn(N)+5
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N)-5

#Create traces
trace0 = go.Scatter(
    x = random_x,
    y = random_y0,
    mode = 'markers',
    name = 'markers'
)
trace1 = go.Scatter(
    x = random_x,
    y = random_y1,
    mode = 'lines+markers',
    name = 'lines+markers'
)
trace2 = go.Scatter(
    x = random_x,
    y = random_y2,
    mode = 'lines',
    name = 'lines'
)
data = [trace0,trace1,trace2]
py.iplot(data)

3.散点图

散点图是一种用来可视化数据的图表,它可以帮助我们更好地理解数据之间的关系。它可以让我们看到数据的趋势,以及多个变量之间的关系。它还可以帮助我们发现潜在的模式,帮助我们做出准确的结论。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go

#颜色的随机范围,散点的大小,还有图例
trace1 = go.Scatter(
     y = np.random.randn(500),
    mode = 'markers',
    marker = dict(
        size = 16,
        color = np.random.randn(500),
        colorscale = 'Viridis',
        showscale = True
    )
)
data = [trace1]
py.iplot(data)

4.直方图

直方图是一种用来表示数据分布情况的图表,可以帮助我们更清楚地了解数据之间的关系,以及数据的分布情况,从而更好地分析数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


trace0 = go.Bar(
    x = ['Jan','Feb','Mar','Apr', 'May','Jun',
         'Jul','Aug','Sep','Oct','Nov','Dec'],
    y = [20,14,25,16,18,22,19,15,12,16,14,17],
    name = 'Primary Product',
    marker=dict(
        color = 'rgb(49,130,189)'
    )
)
trace1 = go.Bar(
    x = ['Jan','Feb','Mar','Apr', 'May','Jun',
         'Jul','Aug','Sep','Oct','Nov','Dec'],
    y = [19,14,22,14,16,19,15,14,10,12,12,16],
    name = 'Secondary Product',
)

data = [trace0,trace1]

py.iplot(data)

5.饼图

饼图是一种用于表示特定数据集中不同分类的相对比例的图表。它可以帮助人们更容易地比较不同分类之间的比例,并轻松地看出最大和最小分类占比。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


labels=['股票','债券','现金','衍生品','其他']
values=[33.7,20.33,9.9,8.6,27.47]
trace=[go.Pie(labels=labels,values=values)]

layout=go.Layout(
    title='基金资产配置比例图'
)

data=go.Figure(data=trace,layout=layout)


py.iplot(data)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
一文说清楚ThreadLocal
当多个线程对同一变量进行写操作的时候,容易出现线程安全问题,所以就会用到对应的锁和其他一些方法,我们先不介绍锁,先介绍ThreadLocal, ThreadLocal字面意思本地线程,ThreadLocal使每个线程之间是隔离的,数据是独立的,我们使用过session都知道 session是一个会话,我们可以用它来存储一些用户的基本信息,这样每个用户在服务端都能取到,ThreadLocal也可以做到,ThreadLocal将相应的信息存储在当前的线程中,只有当前线程能够访问,其他线程不能访问,这样就能保证线程安全,其实ThreadLocal是一个定制化的Map。
小四的技术之旅
2022/07/26
3280
面试|再次讲解Threadlocal使用及其内存溢出
浪尖整理本文主要是想帮助大家完全消化面试中常见的ThreadLocal问题。希望读懂此文以后大家可以掌握(没耐心的可以直接阅读底部总结):
Spark学习技巧
2019/07/09
9330
面试|再次讲解Threadlocal使用及其内存溢出
ThreadLocal 源码解读
首先我们看到的是 Thread 中有一个属性 threadLocals,它的类型是 ThreadLocalMap,封装类型是 default(表示它只能在包内可见),jdk 是这么介绍它的:与此线程有关的 ThreadLocal 值,该映射由 ThreadLocal 类维护。 啥意思呢?那就来看看 ThreadLocalMap 是啥玩意!
JMCui
2019/12/11
3230
面试Threadlocal源码解析
今天我们讲一下高频面试题,Threadlocal,他是JDK1.2就已经有了,他是为每一个使用该变量的线程提供独立的副本,可以做到线程间的数据隔离,每一个线程都可以访问各自内部的副本变量。
小土豆Yuki
2020/06/15
2660
深入理解Threadlocal的实现原理
文章开头我想说,这是一篇面向不怎么懂  Threadlocal 的朋友的博客,所以有的人会觉得有点啰嗦,但不论您水平高低,相信耐着性子看完也一定会有收获。
矿泉水
2018/05/11
8823
<一>深入理解Threadlocal的实现原理
文章开头我想说,这是一篇面向不怎么懂  Threadlocal 的朋友的博客,所以有的人会觉得有点啰嗦,但不论您水平高低,相信耐着性子看完也一定会有收获。
用户2141593
2019/02/20
1.7K0
ThreadLocal (中) 原理具体实现详解
由该图可知,Thread类中有一个threadLocals和一个inheritableThreadLocals,它们都是ThreadLocalMap类型的变量,而ThreadLocalMap是一个定制化的HashMap。在默认情况下,每个线程中的这两个变量都为null,只有当线程第一次调用ThreadLocal的set()或get()方法时才华创建它们。其实每个线程的本地变量不是存放在ThreadLocal实例里面,而是存放在具体线程内存空间中。ThreadLocal就是一个工具壳,它通过set方法把value值放入调用线程的threadLocals里面并存放起来,当调用线程调用它的get方法时,再从当前线程的threadLocals变量里面将其拿出来使用。如果调用线程一直不重质,那么这个本地变量会一直存放在调用线程的threadLocals变量里面,所以当不需要使用本地变量的时候可以通过调用ThreadLocal变量的remove()方法,从当前线程的threadLocals里面删除该本地变量。另外,Thread里面的threadLocals为何被设计为map结构?很明显是因为每个线程可以惯量多个ThreadLocal变量。
YanL
2020/04/26
7040
ThreadLocal (中) 原理具体实现详解
为什么 ThreadLocal 可以做到线程隔离?
对于 ThreadLocal 我们都不陌生,它的作用如同它的名字——用于存放「线程本地」变量。
刘水镜
2022/07/29
3000
ThreadLocal及InheritableThreadLocal的原理剖析
我们知道,线程的不安全问题,主要是由于多线程并发读取一个变量而引起的,那么有没有一种办法可以让一个变量是线程独有的呢,这样不就可以解决线程安全问题了么。其实JDK已经为我们提供了ThreadLocal这个东西。
Java学习录
2019/04/18
5910
ThreadLocal 源码解析
ThreadLocal 顾名思义就是在每个线程内部都会存储只有当前线程才能访问的变量的一个副本,然后当前线程修改了该副本的值后而不会影响其他线程的值,各个变量之间相互不影响。
Java技术编程
2020/05/25
3950
ThreadLocal 类
ThreadLocal 并不是一个Thread,而是 ThreadLocalVariable(线程局部变量)。也许把它命名为 ThreadLocalVar更加合适。线程局部变量就是为每一个使用该变量的线程都提供一个变量值的副本,是 Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。ThreadLocal是除了加锁这种同步方式之外的另一种保证多线程访问出现线程不安全的方式。
Java架构师必看
2021/05/14
5150
ThreadLocal 类
ThreadLocal分析
ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。
爱撸猫的杰
2019/08/07
7810
ThreadLocal分析
抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~
ThreadLocal类是用来提供线程内部的局部变量。让这些变量在多线程环境下访问(get/set)时能保证各个线程里的变量相对独立于其他线程内的变量。
Java编程指南
2020/07/24
7420
抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~
java并发之无同步方案-ThreadLocal
1.ThreadLocal  介绍2.ThreadLocal  应用3.ThreadLocal  源码解析3.1解决 Hash 冲突4.ThreadLocal 特性5.4.ThreadLocal 内存泄露问题
Java宝典
2020/11/30
4080
ThreadLocal用法及原理
Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。
烂猪皮
2019/04/26
1.6K0
聊一聊线程变量绑定之ThreadLocal
这里我们从源码角度来聊一聊 ThreadLocal 的原理。先来看一看它的属性和方法:
山行AI
2019/12/19
9620
聊一聊线程变量绑定之ThreadLocal
ThreadLocal的使用及原理分析
ThreadLocal称作线程本地存储。简单来说,就是ThreadLocal为共享变量在每个线程中都创建一个副本,每个线程可以访问自己内部的副本变量。这样做的好处是可以保证共享变量在多线程环境下访问的线程安全性。
日薪月亿
2019/05/14
5750
ThreadLocal的使用及原理分析
精通高并发与多线程,却不会用ThreadLocal?
之前我们有在并发系列中提到 ThreadLocal 类和基本使用方法,那我们就来看下 ThreadLocal 究竟是如何使用的!
蔡不菜丶
2020/11/11
5160
ThreadLocal原理探究
多线程访问同一个共享变量特别容易出现并发问题,特别是多个线程需要对一个共享变量进行写入时候,为了保证线程安全,一般需要使用者在访问共享变量的时候进行适当的同步,如下图:
加多
2018/09/06
4190
ThreadLocal原理探究
探索JAVA并发 - ThreadLocal
SimpleDateFormat是我们常用的日期格式化工具,但熟悉的朋友都知道它是线程不安全的。
acupt
2019/08/26
4200
相关推荐
一文说清楚ThreadLocal
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档