Plotly中4种文本类型设置详解

Plotly中4种文本类型设置详解

大家好,我是 Lemon 。
在过去的一段时间里,我写了几篇用 Python 的交互式可视化工具 Plotly 来演示全球疫情情况的文章,如下:

  • 用 Plotly 动态柱状图来演示全球疫情变化趋势
  • 用 Python可视化神器 Plotly 动态演示全球疫情变化趋势
  • 超火动态排序疫情变化图,这次我们用 Plotly来绘制
  • 用 Python 动态曲线图来对全球疫情进行演示
  • 升级版,用Python来进行多条曲线动态演示全球疫情变化
    有不少同学都问到图表中文本如何设置,今天 Lemon 来跟大家分享下。
    Plotly 中文本设置大概可以分为四种类型,效果如下:
    Plotly中4种文本类型设置详解
    下面将以 Plotly Express 中的设置为基础,来介绍这 4种类型的详细情况。

    项目环境背景

    本文的数据来自开源项目 tushare, 从 tushare 中获取数据,首先要进行注册获取 token(一串字母和数字组成的文本),然后才可以获取到数据,大家可以通过以下链接来注册(也可以点击文末的“阅读原文”):
    https://tushare.pro/register?reg=129033
    本文的代码是在 Jupyter notebook 环境中运行,Python 环境版本及其他工具如下:

  • Python 3.7
  • pandas version: 1.0.3
  • tushare version: 1.2.51
  • plotly version: 4.5.0

    数据获取

    在 tushare 中注册后,通过 “个人主页”——“接口TOKEN” 可以找到自己的 token 值,界面如下:
    Plotly中4种文本类型设置详解
    复制 token 值,然后在代码中进行如下设置:

# 设置 token
# tushare 注册地址:https://tushare.pro/register?reg=129033
# 以上方法只需要在第一次或者token失效后调用,完成调取tushare数据凭证的设置,正常情况下不需要重复设置。
ts.set_token('你的token值')

pro = ts.pro_api()

在设置好 token 值后,我们就可以开始获取数据,这里以获取股票代码是 “000001.SZ” 的企业为例,来描述 Plotly 中文本设置。
数据获取及初步整理如下:

df = pro.daily(ts_code='000001.SZ',
               start_date='19900101',
               end_date = '20200425'
              )
# 设置时间格式
df['trade_date'] = pd.to_datetime(df['trade_date'])
df

Plotly 中文本设置

这次,我们以 Plotly express 为例,来阐述文本的设置,在原生的 plotly 中,文本设置的方式也是一致的。
文本的设置分为 4中类型,分别是 title, text, label,以及 annotations 。
title 是图表的标题; text 是显示x轴或y轴数据的值; label 是设置数据列在图表中的显示名称; annotations 是设置图表中的注释文本。
这4种类型的文本,前3种相对而言比较好设置, annotations 要稍微复杂些。
下面以柱状图为例来进行说明,代码如下:

df_bar = df[:10]
# df_bar

fig_bar = px.bar(df_bar,
                 x='vol',
                 y='trade_date',
                 orientation='h',
                 text='vol',     # 设置柱状图柱子上的显示文本
                 title='volumn', # 设置图表标题
                 width=600,
                 height=800,
#                  template='plotly_white',
                 labels={'vol':'交易量',      # 设置标签显示名称
                         'trade_date':'日期',
                        }
                )

# 设置文字注释内容
annotation = [dict(x=0.8,
                   xref='paper',  #使用相对坐标
                   y=0.98,
                   yref='paper',
                   text='Python数据之道',
                   showarrow=False,  # 不显示箭头

                   ),
             ]

fig_bar.update_layout(annotations= annotation)

fig_bar.show()

效果如下:
Plotly中4种文本类型设置详解
上图中,对 4种类型的文本进行了初步设置,当然你可能觉得有点丑,想更个性化的设置,比如 标题(title)居中、设置标题文本颜色,等等, 类似效果如下:
Plotly中4种文本类型设置详解
上面这些效果在 Plotly 中也是可以实现的,大家可以自己研究下,或者在公众号 「Python数据之道」 后台回复数字 「662」获取完整的代码来查看。

-------------------End-------------------

Plotly中4种文本类型设置详解

上一篇:TuShare接口适应


下一篇:用Python做量化交易Tushare平台获取数据