python plotly 使用教程

python plotly 使用教程1、plotly介绍lotly的Python图形库使互动的出版质量图表成为在线。如何制作线图,散点图,面积图,条形图,误差线,箱形图,直方图,热图,子图,多轴,极坐标图和气泡图的示例。推荐最好使

大家好,又见面了,我是你们的朋友全栈君。

1、plotly介绍

lotly的Python图形库使互动的出版质量图表成为在线。 如何制作线图,散点图,面积图,条形图,误差线,箱形图,直方图,热图,子图,多轴,极坐标图和气泡图的示例。
推荐最好使用jupyter notebook,使用pycharm的话不是很方便。

2、安装

pip install plotly

2、使用

1)在线使用

在setting里找到用户名和api key

 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

##在线使用 import plotly.plotly as py from plotly import tools from plotly.graph_objs import * tools.set_credentials_file(username='yours', api_key='yours') trace0 = Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17], mode='markers' ) trace1 = Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = Data([trace0, trace1]) py.iplot(data) 

散点图

 
<span role="heading" aria-level="2">python plotly 使用教程

散点图.png

2)offline

import plotly.offline as of import plotly.graph_objs as go of.offline.init_notebook_mode(connected=True) trace0 = go.Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17], mode='markers' ) trace1 = go.Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = go.Data([trace0, trace1]) of.plot(data) 

3、其他图

下面我们画几个其他类型的图

柱状图

import plotly.figure_factory as ff import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/school_earnings.csv") data = [Bar(x=df.School, y=df.Gap)] py.iplot(data) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

3D图


import numpy as np s = np.linspace(0, 2 * np.pi, 240) t = np.linspace(0, np.pi, 240) tGrid, sGrid = np.meshgrid(s, t) r = 2 + np.sin(7 * sGrid + 5 * tGrid) # r = 2 + sin(7s+5t) x = r * np.cos(sGrid) * np.sin(tGrid) # x = r*cos(s)*sin(t) y = r * np.sin(sGrid) * np.sin(tGrid) # y = r*sin(s)*sin(t) z = r * np.cos(tGrid) # z = r*cos(t) surface = Surface(x=x, y=y, z=z) data = Data([surface]) layout = Layout( title='Parametric Plot', scene=Scene( xaxis=XAxis( gridcolor='rgb(255, 255, 255)', zerolinecolor='rgb(255, 255, 255)', showbackground=True, backgroundcolor='rgb(230, 230,230)' ), yaxis=YAxis( gridcolor='rgb(255, 255, 255)', zerolinecolor='rgb(255, 255, 255)', showbackground=True, backgroundcolor='rgb(230, 230,230)' ), zaxis=ZAxis( gridcolor='rgb(255, 255, 255)', zerolinecolor='rgb(255, 255, 255)', showbackground=True, backgroundcolor='rgb(230, 230,230)' ) ) ) fig = Figure(data=data, layout=layout) py.iplot(fig,) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

折线图

import numpy as np N = 100 random_x = np.linspace(0, 1, N) 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) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

堆叠图

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='stack' ) fig = go.Figure(data=data, layout=layout) py.iplot(fig) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

pie

labels = ['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'] values = [4500,2500,1053,500] colors = ['#FEBFB3', '#E1396C', '#96D38C', '#D0F9B1'] trace = go.Pie(labels=labels, values=values, hoverinfo='label+percent', textinfo='value', textfont=dict(size=20), marker=dict(colors=colors, line=dict(color='#000000', width=2))) py.iplot([trace]) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

不知道叫什么图

title = 'Main Source for News' labels = ['Television', 'Newspaper', 'Internet', 'Radio'] colors = ['rgba(67,67,67,1)', 'rgba(115,115,115,1)', 'rgba(49,130,189, 1)', 'rgba(189,189,189,1)'] mode_size = [8, 8, 12, 8] line_size = [2, 2, 4, 2] x_data = [ [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013], ] y_data = [ [74, 82, 80, 74, 73, 72, 74, 70, 70, 66, 66, 69], [45, 42, 50, 46, 36, 36, 34, 35, 32, 31, 31, 28], [13, 14, 20, 24, 20, 24, 24, 40, 35, 41, 43, 50], [18, 21, 18, 21, 16, 14, 13, 18, 17, 16, 19, 23], ] traces = [] for i in range(0, 4): traces.append(go.Scatter( x=x_data[i], y=y_data[i], mode='lines', line=dict(color=colors[i], width=line_size[i]), connectgaps=True, )) traces.append(go.Scatter( x=[x_data[i][0], x_data[i][11]], y=[y_data[i][0], y_data[i][11]], mode='markers', marker=dict(color=colors[i], size=mode_size[i]) )) layout = go.Layout( xaxis=dict( showline=True, showgrid=False, showticklabels=True, linecolor='rgb(204, 204, 204)', linewidth=2, autotick=False, ticks='outside', tickcolor='rgb(204, 204, 204)', tickwidth=2, ticklen=5, tickfont=dict( family='Arial', size=12, color='rgb(82, 82, 82)', ), ), yaxis=dict( showgrid=False, zeroline=False, showline=False, showticklabels=False, ), autosize=False, margin=dict( autoexpand=False, l=100, r=20, t=110, ), showlegend=False, ) annotations = [] # Adding labels for y_trace, label, color in zip(y_data, labels, colors): # labeling the left_side of the plot annotations.append(dict(xref='paper', x=0.05, y=y_trace[0], xanchor='right', yanchor='middle', text=label + ' {}%'.format(y_trace[0]), font=dict(family='Arial', size=16, color=colors,), showarrow=False)) # labeling the right_side of the plot annotations.append(dict(xref='paper', x=0.95, y=y_trace[11], xanchor='left', yanchor='middle', text='{}%'.format(y_trace[11]), font=dict(family='Arial', size=16, color=colors,), showarrow=False)) # Title annotations.append(dict(xref='paper', yref='paper', x=0.0, y=1.05, xanchor='left', yanchor='bottom', text='Main Source for News', font=dict(family='Arial', size=30, color='rgb(37,37,37)'), showarrow=False)) # Source annotations.append(dict(xref='paper', yref='paper', x=0.5, y=-0.1, xanchor='center', yanchor='top', text='Source: PewResearch Center & ' + 'Storytelling with data', font=dict(family='Arial', size=12, color='rgb(150,150,150)'), showarrow=False)) layout['annotations'] = annotations fig = go.Figure(data=traces, layout=layout) py.iplot(fig) 
 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

4、各种具体语法

pdf

 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

 

5、总结

画的图真是好看,而且划过的图会自动上传到云端。

 
<span role="heading" aria-level="2">python plotly 使用教程

image.png

作者:五长生

链接:https://www.jianshu.com/p/57bad75139ca

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155979.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图存储之十字链表

    图存储之十字链表一概述十字链表是有向图的一种链式存储结构,在十字链表中,对应于有向图中的每条弧有一个结点,对应于每个顶点也有一个结点。二十字链表十字链表的结构分为弧结点和顶点结点,其中弧结点中有5个域:尾域和头域分别指示弧尾和弧头这两个顶点在图中的位置;链域hlink指向弧头相同的下一条弧;链域tlink指向弧尾相同的下一个条弧;info域指向该弧的相关信息。…

    2022年6月18日
    27
  • mysql 查找配置文件 my.ini 位置方法

    mysql 查找配置文件 my.ini 位置方法见:https://blog.csdn.net/mayor125/article/details/54140454https://jingyan.baidu.com/article/7e4409531f75292fc0e2efe7.html个人备注:不显示文件类型时,my.ini文件名就叫作my,文件属性才显示ini。找到my文件看属性就知道是不是my…

    2022年6月7日
    38
  • Python 判断文件是否存在的三种方法

    Python 判断文件是否存在的三种方法这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。1.使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在import osos.path.exists(test_file.txt)#True

    2022年6月15日
    42
  • 关于this指针

    关于this指针一个类的对象中实际只包含了该对象的数据成员信息,当我们创建了多个类的对象时,使对象1调用该类的成员函数,为什么可以改变对象1中的信息,而不去设置其他对象的信息?成员函数在类中只有一份,所有该类的对象共同使用,编译器是如何识别并处理的呢?编译器识别一个类分为三步:1.识别类的类名2.识别类的成员变量3.识别类的成员函数并对成员函数进行修改修改方式:成员函数有一个隐藏…

    2022年5月16日
    52
  • vue组件通讯之$attrs

    vue组件通讯之$attrs使用场景我们会遇到这样的场景,比如对element-ui的el-table组件进行二次开发,但是el-table组件有很多属性比如控制高度的height,传入数据的data还有border、size、fit等一个个的去传显然不大现实,这个使用用$attrs处理起来就会特别优雅。举例子组件:自定义组件对el-table进行封装,用$attrs接收父组件传过来的属性<template&g…

    2022年10月18日
    2
  • python创意小作品代码_python浪漫表白源码

    python创意小作品代码_python浪漫表白源码这篇文章主要为大家详细介绍了python实现浪漫的烟花秀,具有一定的参考价值,感兴趣的小伙伴们可以参考一下无意中看到一段用Tkinter库写的放烟花的程序,就跟着跑了一遍。设计理念:通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生“膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入“自由落体”阶…

    2022年9月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号