公众号:尤而小屋 编辑:Peter 作者:Peter
大家好,我是Peter~
最近用plolty绘制了很多的动态可视化图形,有一定自定义的图形设置技巧,供大家参考学习。
Plotly是一个用于创建交互式图表的Python库,它支持多种图表类型,如折线图、散点图、饼图、热力图等。Plotly的特点如下:
总之,Plotly是一个功能强大、易于使用的可视化库,适用于数据分析、科学计算、商业智能等领域。
In 1:
import pandas as pd
import numpy as np
import plotly_express as px
import plotly.graph_objects as go
# 忽略警告
import warnings
warnings.filterwarnings('ignore')
生成虚拟数据
In 2:
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
比如我们想绘制一个散点图,最简单的方法:
In 3:
fig = px.scatter(df,x="x",y="y") # 没有任何修饰
fig.show()
In 4:
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()
y轴我们设定是一个比例,当前是小数,有时候在坐标轴上希望通过百分比的形式来表示:
In 5:
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()
从上面生成的图形来看,横轴默认的间距是20,我们设置成10:
In 6:
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()
在生成数据x字段的时候,我们是从100降低到1,但是绘图的时候却是从1开始递增,我们希望保持原有数据的降序,如何实现?
In 7:
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 删除。