基于python plotly交互式图表大全

 更新时间:2019年12月07日 11:16:29   作者:会spark的篮球少年  
今天小编就为大家分享一篇基于python plotly交互式图表大全,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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])

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

# 散点图
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')

#气泡图
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)

#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')

#组合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')

#组合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')

#饼图
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')

# 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")

#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')

#箱子图加平均线
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')

#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')

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

#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')

# 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')

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

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

相关文章

  • Python3进行表格数据处理的示例详解

    Python3进行表格数据处理的示例详解

    数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数据进行建模,可以用于预测下一阶段可能出现的情况。本文就来聊聊Python3进行表格数据处理的相关操作,需要的可以参考一下
    2023-03-03
  • Python实现求解括号匹配问题的方法

    Python实现求解括号匹配问题的方法

    这篇文章主要介绍了Python实现求解括号匹配问题的方法,涉及Python基于栈的字符串遍历、判断、运算解决括号匹配相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python ORM数据库框架Sqlalchemy的使用教程详解

    Python ORM数据库框架Sqlalchemy的使用教程详解

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。本文主要介绍了其使用的相关资料,感兴趣的小伙伴可以学习一下
    2022-10-10
  • Python3实现统计单词表中每个字母出现频率的方法示例

    Python3实现统计单词表中每个字母出现频率的方法示例

    这篇文章主要介绍了Python3实现统计单词表中每个字母出现频率的方法,涉及Python针对文件的读取、遍历、统计等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • python绘制规则网络图形实例

    python绘制规则网络图形实例

    今天小编大家分享一篇python绘制规则网络图形实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 对python 多线程中的守护线程与join的用法详解

    对python 多线程中的守护线程与join的用法详解

    今天小编就为大家分享一篇对python 多线程中的守护线程与join的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python中正则表达式 re.findall 用法

    python中正则表达式 re.findall 用法

    在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。本文重点给大家介绍python中正则表达式 re.findall 用法,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • Python实现拼接多张图片的方法

    Python实现拼接多张图片的方法

    这篇文章主要介绍了Python实现拼接多张图片的方法,以具体的实际应用引出Python拼接图片的思路并给出了实现的具体方法,需要的朋友可以参考下
    2014-12-12
  • django项目运行因中文而乱码报错的几种情况解决

    django项目运行因中文而乱码报错的几种情况解决

    django是一个不错的WEB开源框架。今天测试,发现有些页面中文乱码,后来发现出现中文乱码还不止一种情况,所以这篇文章主要给大家介绍了关于django项目运行过程中因为中文而导致乱码报错的几种情况的解决方法,需要的朋友可以参考下。
    2017-11-11
  • Python开发必知必会标识符UUID全面使用指南

    Python开发必知必会标识符UUID全面使用指南

    在Python编程中,UUID(通用唯一标识符)是一个非常有用的工具,用于生成唯一的标识符,本文将深入探讨Python中UUID的用法、不同版本的UUID、以及如何在实际应用中充分利用UUID的优势
    2023-12-12

最新评论