基于python plotly交互式图表大全


Posted in Python onDecember 07, 2019

plotly可以制作交互式图表,直接上代码:

import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
import pandas as pd
import numpy as np

In [412]:

#读取数据
df=pd.read_csv('seaborn.csv',sep=',',encoding='utf-8',index_col=0)
#展示数据
df.head()
Out[412]:
Name Type 1 Type 2 Total HP Attack Defense Sp. Atk Sp. Def Speed Stage Legendary
#
1 Bulbasaur Grass Poison 318 45 49 49 65 65 45 1 False
2 Ivysaur Grass Poison 405 60 62 63 80 80 60 2 False
3 Venusaur Grass Poison 525 80 82 83 100 100 80 3 False
4 Charmander Fire NaN 309 39 52 43 60 50 65 1 False
5 Charmeleon Fire NaN 405 58 64 58 80 65 80 2 False

In [413]:

#plotly折线图,trace就代表折现的条数
trace1=go.Scatter(x=df['Attack'],y=df['Defense'])
trace1=go.Scatter(x=[1,2,3,4,5],y=[2,1,3,5,2])
trace2=go.Scatter(x=[1,2,3,4,5],y=[2,1,4,6,7])
py.iplot([trace1,trace2])

基于python plotly交互式图表大全

#填充区域
trace1=go.Scatter(x=[1,2,3,4,5],y=[2,1,3,5,2],fill="tonexty",fillcolor="#FF0")
py.iplot([trace1])

基于python plotly交互式图表大全

# 散点图
trace1=go.Scatter(x=[1,2,3,4,5],y=[2,1,3,5,2],mode='markers')
trace1=go.Scatter(x=df['Attack'],y=df['Defense'],mode='markers')
py.iplot([trace1],filename='basic-scatter')

基于python plotly交互式图表大全

#气泡图
x=df['Attack']
y=df['Defense']
colors = np.random.rand(len(x))#set color equal to a variable
sz =df['Defense']
fig = go.Figure()
fig.add_scatter(x=x,y=y,mode='markers',marker={'size': sz,'color': colors,'opacity': 0.7,'colorscale': 'Viridis','showscale': True})
py.iplot(fig)

基于python plotly交互式图表大全

#bar 柱状图
df1=df[['Name','Defense']].sort_values(['Defense'],ascending=[0])
data = [go.Bar(x=df1['Name'],y=df1['Defense'])]
py.iplot(data, filename='jupyter-basic_bar')

基于python plotly交互式图表大全

#组合bar  group
trace1 = go.Bar(x=['giraffes', 'orangutans', 'monkeys'],y=[20, 14, 23],name='SF Zoo')
trace2 = go.Bar(x=['giraffes', 'orangutans', 'monkeys'],y=[12, 18, 29],name='LA Zoo')
data = [trace1, trace2]
layout = go.Layout( barmode='group')
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='grouped-bar')

基于python plotly交互式图表大全

#组合bar  gstack上下组合
trace1 = go.Bar(x=['giraffes', 'orangutans', 'monkeys'],y=[20, 14, 23],name='SF Zoo')
trace2 = go.Bar(x=['giraffes', 'orangutans', 'monkeys'],y=[12, 18, 29],name='LA Zoo',text=[12, 18, 29],textposition = 'auto')
data = [trace1, trace2]
layout = go.Layout( barmode='stack')
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='grouped-bar')

基于python plotly交互式图表大全

#饼图
fig = {
 "data": [
  {
   "values": df['Defense'][0:3],
   "labels": df['Name'][0:3],
   "domain": {"x": [0,1]},
   "name": "GHG Emissions",
   "hoverinfo":"label+percent+name",
   "hole": .4,
   "type": "pie"
  }
    ],
  
 "layout": {
    "title":"Global Emissions 1990-2011",
    "annotations": [
      {
        "font": {"size": 20},
        "showarrow": False,
        "text": "GHG",
        "x": 0.5,
        "y": 0.5
      }
            ]
      }
  }
py.iplot(fig, filename='donut')

基于python plotly交互式图表大全

# Learn about API authentication here: https://plot.ly/pandas/getting-started
# Find your api_key here: https://plot.ly/settings/api
#雷达图
data = [
  go.Scatterpolar(
   r = [39, 28, 8, 7, 28, 39],
   theta = ['A','B','C', 'D', 'E', 'A'],
   fill = 'toself',
   name = 'Group A'
  ),
  go.Scatterpolar(
   r = [1.5, 10, 39, 31, 15, 1.5],
   theta = ['A','B','C', 'D', 'E', 'A'],
   fill = 'toself',
   name = 'Group B'
  )
]
 
layout = go.Layout(
 polar = dict(
  radialaxis = dict(
   visible = True,
   range = [0, 50]
  )
 ),
 showlegend = False
)
 
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename = "radar/multiple")

基于python plotly交互式图表大全

#box 箱子图
df_box=df[['HP','Attack','Defense','Speed']]
data = []
for col in df_box.columns:
  data.append(go.Box(y=df_box[col], name=col, showlegend=True ) )
#data.append( go.Scatter(x= df_box.columns, y=df.mean(), mode='lines', name='mean' ) )
py.iplot(data, filename='pandas-box-plot')

基于python plotly交互式图表大全

#箱子图加平均线
df_box=df[['HP','Attack','Defense','Speed']]
data = []
for col in df_box.columns:
  data.append(go.Box(y=df_box[col], name=col, showlegend=True) )
data.append( go.Scatter(x= df_box.columns, y=df.mean(), mode='lines', name='mean' ) )
py.iplot(data, filename='pandas-box-plot')

基于python plotly交互式图表大全

#Basic Horizontal Bar Chart 条形图 plotly条形图
df_hb=df[['Name','Attack','Defense','Speed']][0:5].sort_values(['Attack'],ascending=[1])
data = [
  go.Bar(
    y=df_hb['Name'], # assign x as the dataframe column 'x'
    x=df_hb['Attack'],
    orientation='h',
    text=df_hb['Attack'],
    textposition = 'auto'
  )
]
py.iplot(data, filename='pandas-horizontal-bar')

基于python plotly交互式图表大全

#直方图Histogram
data = [go.Histogram(x=df['Attack'])]
py.iplot(data, filename='basic histogram')

基于python plotly交互式图表大全

#distplot
import plotly.figure_factory as ff 
hist_data =[df['Defense']]
group_labels = ['distplot']
fig = ff.create_distplot(hist_data, group_labels)
# Add title
fig['layout'].update(title='Hist and Rug Plot',xaxis=dict(range=[0,200]))
py.iplot(fig, filename='Basic Distplot')

基于python plotly交互式图表大全

# Add histogram data
x1 = np.random.randn(200)-2 
x2 = np.random.randn(200) 
x3 = np.random.randn(200)+2 
x4 = np.random.randn(200)+4 
 
# Group data together
hist_data = [x1, x2, x3, x4]
group_labels = ['Group 1', 'Group 2', 'Group 3', 'Group 4']
# Create distplot with custom bin_size
fig = ff.create_distplot(hist_data, group_labels,)
# Plot!
py.iplot(fig, filename='Distplot with Multiple Datasets')

基于python plotly交互式图表大全

好了,以上就是我研究的plotly,欢迎朋友们评论,补充,一起学习!

以上这篇基于python plotly交互式图表大全就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
Python写的一个简单DNS服务器实例
Jun 04 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
微信跳一跳辅助python代码实现
Jan 05 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
Python OpenCV 使用滑动条来调整函数参数的方法
Jul 08 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
python中如何写类
Jun 29 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 #Python
python将时分秒转换成秒的实例
Dec 07 #Python
pandas实现将日期转换成timestamp
Dec 07 #Python
Python 装饰器原理、定义与用法详解
Dec 07 #Python
Python Pandas 转换unix时间戳方式
Dec 07 #Python
Pandas-Cookbook 时间戳处理方式
Dec 07 #Python
Python数据可视化:饼状图的实例讲解
Dec 07 #Python
You might like
php获取一个变量的名字的方法
2014/09/05 PHP
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
Python是编译运行的验证方法
2015/01/30 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
小学红领巾中秋节广播稿
2014/01/13 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
会计专业自我评价
2014/02/12 职场文书
数学系毕业生求职信
2014/05/29 职场文书
拉拉队口号
2014/06/16 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
2014年教研员工作总结
2014/12/23 职场文书
平遥古城导游词
2015/02/03 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android