基于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 相关文章推荐
400多行Python代码实现了一个FTP服务器
May 10 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
python 平衡二叉树实现代码示例
Jul 07 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
python常用排序算法的实现代码
Nov 08 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
Python读取JSON数据操作实例解析
May 18 Python
浅析python 字典嵌套
Sep 29 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
Pytest实现setup和teardown的详细使用详解
Apr 17 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP反向代理类代码
2014/08/15 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
js实现图片实时时钟
2020/01/15 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
简单说明Python中的装饰器的用法
2015/04/24 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python利用tkinter实现屏保
2019/07/30 Python
Django密码存储策略分析
2020/01/09 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
机械制造与自动化应届生求职信
2013/11/16 职场文书
考博专家推荐信模板
2013/12/02 职场文书
音乐教学案例
2014/01/30 职场文书
夏洛特的网观后感
2015/06/15 职场文书
我的中国梦主题班会
2015/08/14 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python