前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级可视化神器plotly的4个使用技巧

高级可视化神器plotly的4个使用技巧

原创
作者头像
皮大大
发布2024-06-04 08:42:36
2370
发布2024-06-04 08:42:36
举报

公众号:尤而小屋 编辑:Peter 作者:Peter

大家好,我是Peter~

最近用plolty绘制了很多的动态可视化图形,有一定自定义的图形设置技巧,供大家参考学习。

  • 图像标题自定义
  • 坐标轴刻度小数变百分比
  • 改变坐标轴间距
  • 翻转坐标轴刻度

1 什么是Plotly

Plotly是一个用于创建交互式图表的Python库,它支持多种图表类型,如折线图、散点图、饼图、热力图等。Plotly的特点如下:

  1. 高度可定制:用户可以根据需要调整图表的各种属性,如颜色、字体、轴标签等,以创建符合需求的可视化效果。
  2. 交互性:生成的图表具有交互性,用户可以通过鼠标悬停、拖动、缩放等操作查看数据详情和变化趋势。
  3. 跨平台:支持在Web、Jupyter Notebook、Python脚本等多种环境中使用,并且可以将图表导出为HTML、PNG、SVG等格式。
  4. 集成其他库:可以与其他流行的Python数据处理和可视化库(如Pandas、NumPy、Matplotlib等)结合使用,方便数据处理和图形绘制。
  5. 多语言支持:除了Python,Plotly还支持R、JavaScript、MATLAB等多种编程语言,方便不同背景的用户使用。

总之,Plotly是一个功能强大、易于使用的可视化库,适用于数据分析、科学计算、商业智能等领域。

2 导入库

In 1:

代码语言:python
代码运行次数:0
复制
import pandas as pd
import numpy as np

import plotly_express as px
import plotly.graph_objects as go

# 忽略警告
import warnings
warnings.filterwarnings('ignore')

3 模拟数据

生成虚拟数据

In 2:

代码语言:python
代码运行次数:0
复制
data = {"x":np.arange(100,0,-1),"y":np.linspace(1,0,100)}

df = pd.DataFrame(data)
df

Out2:

x

y

0

100

1.000000

1

99

0.989899

2

98

0.979798

3

97

0.969697

4

96

0.959596

...

...

...

95

5

0.040404

96

4

0.030303

97

3

0.020202

98

2

0.010101

99

1

0.000000

100 rows × 2 columns

4 基础图形

比如我们想绘制一个散点图,最简单的方法:

In 3:

代码语言:python
代码运行次数:0
复制
fig = px.scatter(df,x="x",y="y")  # 没有任何修饰
fig.show()

5 技巧1:标题自定义

In 4:

代码语言:python
代码运行次数:0
复制
fig = px.scatter(df,x="x",y="y")  

fig.update_layout(  
    title= f'plotly绘图技巧1<br>自定义标题',  # <br>表示换行
    xaxis_title='序号',   # x-y轴
    yaxis_title="比例",
    width=1000,  # 图的长宽;表示大小
    height=600,
    title_x=0.5,    # 标题聚类x轴起点的距离
    title_y=0.95,  
)  

fig.show()

6 技巧2:坐标轴小数变百分比

y轴我们设定是一个比例,当前是小数,有时候在坐标轴上希望通过百分比的形式来表示:

In 5:

代码语言:python
代码运行次数:0
复制
fig = px.scatter(df,x="x",y="y")  

# 设置纵轴刻度格式为百分比
fig.update_yaxes(tickformat=".2%")

# 标题
fig.update_layout(  
    title= f'plotly绘图技巧2<br>坐标轴小数变百分比',  
    xaxis_title='序号', 
    yaxis_title="比例",
    width=1000,  
    height=600,
    title_x=0.5,    
    title_y=0.95,  
)  

fig.show()

7 技巧3:改变坐标轴间距

从上面生成的图形来看,横轴默认的间距是20,我们设置成10:

In 6:

代码语言:python
代码运行次数:0
复制
fig = px.scatter(df,x="x",y="y")  

xtick_values = list(range(0,101,10))  # [0,10,20,30,...,100]
fig.update_xaxes(tickvals=xtick_values, ticktext=xtick_values)  # ['instant', 'period']

# 标题
fig.update_layout(  
    title= f'plotly绘图技巧3<br>改变坐标轴间距',  
    xaxis_title='序号', 
    yaxis_title="比例",
    width=1000,  
    height=600,
    title_x=0.5,    
    title_y=0.95,  
)  

fig.show()

8 技巧4:翻转坐标轴刻度

在生成数据x字段的时候,我们是从100降低到1,但是绘图的时候却是从1开始递增,我们希望保持原有数据的降序,如何实现?

In 7:

代码语言:python
代码运行次数:0
复制
fig = px.scatter(df,x="x",y="y")  

# 翻转x 轴刻度值  
fig.update_xaxes(autorange='reversed')

# 改变间距
xtick_values = list(range(0,101,10))  # [0,10,20,30,...,100]
fig.update_xaxes(tickvals=xtick_values, ticktext=xtick_values)  # ['instant', 'period']

# 标题
fig.update_layout(  
    title= f'plotly绘图技巧4<br>翻转坐标轴刻度',  
    xaxis_title='序号', 
    yaxis_title="比例",
    width=1000,  
    height=600,
    title_x=0.5,    
    title_y=0.95,  
)  

fig.show()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 什么是Plotly
  • 2 导入库
  • 3 模拟数据
  • 4 基础图形
  • 5 技巧1:标题自定义
  • 6 技巧2:坐标轴小数变百分比
  • 7 技巧3:改变坐标轴间距
  • 8 技巧4:翻转坐标轴刻度
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档