<返回更多

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

2020-07-28    
加入收藏

1 说明:

=====

1.1 Bqplot是用于Jupyter的交互式2D绘图库,其中绘图的每个属性都是一个交互式小部件,只需几行Python代码就可以创建丰富的可视化效果。

1.2 Bqplot构建在widgets框架之上,所以它利用widget基础提供第一个在Python和JAVAScript代码之间通信的绘图库。

1.3 Bqplot的可视化是基于D3.js和SVG的,支持快速交互和漂亮的动画。

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

2 准备:

=====

2.1 官网:

https://github.com/bqplot/bqplot
https://bqplot.readthedocs.io/en/latest/
https://pypi.org/project/bqplot/

2.2 英文视频介绍:

https://channel9.msdn.com/Events/PyData/Seattle2017/BRK10
重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

压缩的视频预览gif版

2.3 安装:

pip install bqplot
#本机安装
sudo pip3.8 install bqplot
#推荐国内源安装
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple bqplot

2.4 环境:

华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。

===作图介绍===

注意:基于微软vscode编辑器,代码中的:#%%代表一个cell单元

3 折线图:

=======

3.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt

size = 100
scale = 100.   #注意小数点
np.random.seed(0)
x_data = np.arange(size)
y_data = np.cumsum(np.random.randn(size)  * scale)

fig = plt.figure(title='First Example')
#plt.plot(y_data)   #默认折线图,line
#plt.plot(y_data,'g-.s')   # color=green, line_style=dash_dotted, marker=square
plt.plot(y_data,'m:d')   # color=magenta, line_style=None, marker=diamond
fig
#plt.show()  #可有可无
# %%

3.2 操作及效果图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

4 散点图:

=======

4.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt
size = 100
scale = 100.
np.random.seed(0)
x_data = np.arange(size)
y_data = np.cumsum(np.random.randn(size)  * scale)
fig = plt.figure()
axes_options = {'x': {'label': 'Date', 'tick_format': '%m/%d'},
                'y': {'label': 'Price', 'tick_format': '0.0f'}}

plt.scatter(x_data, y_data, colors=['red'], stroke='black')
fig

4.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

5 直方图:

=======

5.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt

size = 100
scale = 100.
np.random.seed(0)
x_data = np.arange(size)
y_data = np.cumsum(np.random.randn(size)  * scale)

fig = plt.figure()
plt.hist(y_data, colors=['OrangeRed'])
fig

5.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

6 饼图:

=====

6.1 两种饼图代码在一起:

#%%
#导出模块的cell单元代码块
from bqplot import pyplot as plt
from bqplot import topo_load
from bqplot.interacts import panzoom
import numpy as np
import pandas as pd
import datetime as dt

#%%
#普通饼图的代码块
np.random.seed(0)
size = 100
y_data_2 = np.cumsum(np.random.randn(size))
plt.figure()
d = abs(y_data_2[:5])
plt.pie(d,display_labels='outside', display_values=True,
          values_format='.0%', labels=list('ABCDEFGHIJ'))
plt.show()

#%%
#空心环状饼图的代码块
data = np.random.rand(6)
fig = plt.figure(animation_duration=1000)
pie = plt.pie(data, radius=180, sort=False, display_labels='outside', display_values=True,
          values_format='.0%', labels=list('ABCDEFGHIJ'))
#make pie a donut
with pie.hold_sync():
    pie.radius = 180
    pie.inner_radius = 120
fig

6.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

普通饼图


重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

环状饼图

7 柱状图:

=======

7.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt

size = 100
scale = 100.
np.random.seed(0)
x_data = np.arange(size)
y_data = np.cumsum(np.random.randn(size)  * scale)
import string
fig = plt.figure(padding_x=0)
axes_options = {'x': {'label': 'X'}, 'y': {'label': 'Y'}}
plt.bar(x=list(string.ascii_uppercase), y=np.abs(y_data[:20]), axes_options=axes_options,colors=['MediumSeaGreen'])
fig

7.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

8 箱式图:

=======

8.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt

plt.figure()
plt.boxplot(np.arange(10), np.random.randn(10, 100))
plt.show()

8.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

9 ohlc图:

=======

9.1 代码:

#%%
import numpy as np
import bqplot.pyplot as plt
import datetime as dt
#dates代表x轴坐标为日期
dates = np.arange(dt.datetime(2014, 1, 2), dt.datetime(2014, 1, 30), dt.timedelta(days=1))
#y轴为价格数据
prices = np.array([[ 187.21  ,  187.4   ,  185.2   ,  185.53  ],
       [ 185.83  ,  187.35  ,  185.3   ,  186.64  ],
       [ 187.15  ,  187.355 ,  185.3   ,  186.    ],
       [ 186.39  ,  190.35  ,  186.38  ,  189.71  ],
       [ 189.33  ,  189.4175,  187.26  ,  187.97  ],
       [ 189.02  ,  189.5   ,  186.55  ,  187.38  ],
       [ 188.31  ,  188.57  ,  186.28  ,  187.26  ],
       [ 186.26  ,  186.95  ,  183.86  ,  184.16  ],
       [ 185.06  ,  186.428 ,  183.8818,  185.92  ],
       [ 185.82  ,  188.65  ,  185.49  ,  187.74  ],
       [ 187.53  ,  188.99  ,  186.8   ,  188.76  ],
       [ 188.04  ,  190.81  ,  187.86  ,  190.09  ],
       [ 190.23  ,  190.39  ,  186.79  ,  188.43  ],
       [ 181.28  ,  183.5   ,  179.67  ,  182.25  ],
       [ 181.43  ,  183.72  ,  180.71  ,  182.73  ],
       [ 181.25  ,  182.8141,  179.64  ,  179.64  ],
       [ 179.605 ,  179.65  ,  177.66  ,  177.9   ],
       [ 178.05  ,  178.45  ,  176.16  ,  176.85  ],
       [ 175.98  ,  178.53  ,  175.89  ,  176.4   ],
       [ 177.17  ,  177.86  ,  176.36  ,  177.36  ]])

plt.figure()
plt.ohlc(dates, prices)
plt.show()

9.2 图:

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

10 高级图,不放代码了,欣赏一下。

重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库

 

===自己整理并分享出来===

喜欢的人,请点赞、关注、评论、转发和收藏。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>