Plotly简介以及基础图形的绘制

本文介绍了Plotly的基本用法,包括安装环境、离线和在线绘图。详细讲解了如何绘制散点图、气泡图、线形图、柱状图、水平条形图、饼图和环形图,提供了各种样式的设置方法,是Plotly初学者的实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近学习了《Python数据分析 基于Plotly的动态可视化绘图》(孙洋洋等人著)一书,为了方便以后查看,还是写一下为好。
该书所有代码网址链接: link.
注册成为博文视点社区用户,可以找到该书: link.
并且可以下载实例代码和资源文件哦。

Plotly简介

  Pandas和Plotly互动式绘图模块可以称为Python数据分析和Python量化分析量大重量级模块库。Pandas是业界公认的大数据工程一线最好的解决方案;Plotly是最好的绘图工具之一。

安装环境

   安装Plotly方法:打开cmd命令,代码`pip install plotly`即可,若要升级到最新版,则代码`pip install plotly -- upgrade`
   (我使用的是Pycharm环境,在里面直接下载而不需要打开cmd命令行)

离线绘图

离线绘图功能允许在没有网络情况下绘图,并把图像保存到本地,有两种方法实现:
  1. 使用plotly.offline.plot()方法会在本地新建一个HTML文件,并可以选择是否在浏览器中打开这个文件。
  2. 使用plotly.offline.iplot()方法会在Jupyter Notebook中直接绘图,而不需要创建一个HTML文件
    在线绘图操作查看帮助:
import plotly.plotly as py
help(py.plot)
离线绘图操作查看帮助:
import plotly
help(plotly.offline.plot)

基础图形

散点图

简单的散点图

import plotly as py
import plotly.graph_objs as go
# -------pre def
pyplt=py.offline.plot
# -------code
#creaet random data with numpy
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',name='lines')
trace2=go.Scatter(x=random_x,y=random_y2,mode='lines+markers',name='lines+markers')
data=Data([trace0,trace1,trace2])
pyplt(data,filename='散点图.html')

print('ok') #提示已经绘制完成

结果:
在这里插入图片描述

对散点图进行样式设置

import plotly as py
import plotly.graph_objs as go
import numpy as np
# ------pre def
pyplt=py.offline.plot
# ------code
N=500
x=np.random.randn(N)

trace0=go.Scatter(
    x=np.random.randn(N),
    y=np.random.randn(N)+2,
    name='Above',
    mode='markers+lines',
    marker=dict(
        size=10, #设置点的宽度
        color='rgba(152,0,0,0.8)', #设置点的颜色
        line=dict(
            width=2, #设置线条的宽度
            color='rgb(0,0,0)', #设置线条的颜色
        )
    )
)
trace1=go.Scatter(
    x=np.random.randn(N),
    y=np.random.randn(N)-2,
    name='Below',
    mode='markers',
    marker=dict(
        size=10, #设置点的宽度
        color='rgba(255,0,0,0.8)', #设置点的颜色
    )
)
data=[trace0,trace1]
#设置页面布局
layout=dict(title='Styled Scatter',
            yaxis=dict(zeroline=True),#显示y轴的0刻度线
            xaxis=dict(zeroline=False))#不显示x轴的0刻度线)
#布局数据
fig=dict(data=data,layout=layout)
pyplt(fig,filename='散点图2.html')

结果:
在这里插入图片描述

气泡图

基本案例

import plotly as py
import plotly.graph_objs as go
#----pre def
pyplt=py.offline.plot
trace0=go.Scatter(
    x=[1,2,3,4],
    y=[10,11,12,13],
    mode='markers',
    marker=dict(size=[40,60,80,100])
)
data=[trace0]
pyplt(data,filename='气泡图基本案例.html')
print('ok')

结果:图3

样式设置

import plotly as py
import plotly.graph_objs as go
#----pre def
pyplt=py.offline.plot
trace0=go.Scatter(
    x=[1,2,3,4],
    y=[10,11,12,13],
    mode='markers',
    text=['A<br>size:40','B<br>size:60','C<br>size:80','D<br>size:100'],#<br>是换行的意思
    marker=dict(
        color=[120,125,130,135],
        opacity=[1,0.8,0.6,0.4],
        size=[40,60,80,100],
        showscale=True   #表示右边显示颜色条的大小
    )
)
data=[trace0]
pyplt(data,filename='气泡图样式设置.html')
print('ok')

结果:
图4

缩放设置

import plotly as py
import plotly.graph_objs as go
#----pre def
pyplt=py.offline.plot
trace0=go.Scatter(x=[1,2,3,4],y=[10,11,12,13],
                  text=['A<br>size:40<br>default','B<br>size:60<br>default','C<br>size:80<br>default','D<br>size:100<br>default'],
                  mode='markers',
                  name='default',
                  marker=dict(size=[400,600,800,1000],sizemode='area')
)
trace1=go.Scatter(x=[1,2,3,4],y=[14,15,16,17],
                  text=['A<br>size:40<br>sizeref:0.2','B<br>size:60<br>sizeref:0.2','C<br>size:80<br>sizeref:0.2','D<br>size:100<br>sizeref:0.2'],
                  mode='markers',
                  name='sizeref:0.2',#变成默认的5倍
                  marker=dict(size=[400,600,800,1000]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值