python中带注释的双向条形图plotly

2024-04-01

我有一个带有玩具版本的 pandas 数据集,可以用它创建

#creating a toy pandas dataframe
s1 = pd.Series(['dont have a mortgage',-31.8,'have mortgage',15.65])
s2 = pd.Series(['have utility bill arrears',-21.45,'',0])
s3 = pd.Series(['have interest only mortgage',-19.59,'',0])
s4 = pd.Series(['bank with challenger bank',-19.24,'bank with a traditional bank',32.71])

df = pd.DataFrame([list(s1),list(s2),list(s3),list(s4)], columns = ['label1','value1','label2','value2'])

我想创建一个条形图,看起来像我在 Excel 中编写的这个版本

我希望能够提供 RGB 值来自定义左右条的两种颜色(当前为蓝色和橙色)

我使用“fig.add_trace(go.Bar”)尝试了不同的版本,但对于绘图来说是全新的,无法让任何东西与一行上的不同颜色条一起使用,并且每个条下都有注释。

非常感谢所有帮助!

thanks


要创建双面条形图,您可以创建两个共享 x 轴和 y 轴的子图。每个子图都是具有指定标记颜色的水平条形图

import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots

# define data set
s1 = pd.Series(['dont have a mortgage',-31.8,'have mortgage',15.65])
s2 = pd.Series(['have utility bill arrears',-21.45,'',0])
s3 = pd.Series(['have interest only mortgage',-19.59,'',0])
s4 = pd.Series(['bank with challenger bank',-19.24,'bank with a traditional bank',32.71])
df = pd.DataFrame([list(s1),list(s2),list(s3),list(s4)], columns = ['label1','value1','label2','value2'])

# create subplots
fig = make_subplots(rows=1, cols=2, specs=[[{}, {}]], shared_xaxes=True,
                    shared_yaxes=True, horizontal_spacing=0)

fig.append_trace(go.Bar(y=df.index, x=df.value1, orientation='h', width=0.4, showlegend=False, marker_color='#4472c4'), 1, 1)
fig.append_trace(go.Bar(y=df.index, x=df.value2, orientation='h', width=0.4, showlegend=False, marker_color='#ed7d31'), 1, 2)
fig.update_yaxes(showticklabels=False) # hide all yticks

需要单独添加注解:

annotations = []
for i, row in df.iterrows():
    if row.label1 != '':
        annotations.append({
            'xref': 'x1',
            'yref': 'y1',
            'y': i,
            'x': row.value1,
            'text': row.value1,
            'xanchor': 'right',
            'showarrow': False})
        annotations.append({
            'xref': 'x1',
            'yref': 'y1',
            'y': i-0.3,
            'x': -1,
            'text': row.label1,
            'xanchor': 'right',
            'showarrow': False})            
    if row.label2 != '':
        annotations.append({
            'xref': 'x2',
            'yref': 'y2',
            'y': i,
            'x': row.value2,
            'text': row.value2,
            'xanchor': 'left',
            'showarrow': False})  
        annotations.append({
            'xref': 'x2',
            'yref': 'y2',
            'y': i-0.3,
            'x': 1,
            'text': row.label2,
            'xanchor': 'left',
            'showarrow': False})

fig.update_layout(annotations=annotations)
fig.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中带注释的双向条形图plotly 的相关文章

  • Plotly:如何设置 x 轴上时间序列的主要刻度/网格线的值?

    背景 这个问题与以下问题相关 但不完全相同 Plotly 如何检索主要刻度线和网格线的值 类似的问题也被问过但没有得到解答绘图库 here 如何将主要刻度显示为每月的第一天 将次要刻度显示为每天 情节太棒了 也许唯一困扰我的是刻度线 网格线
  • 如何在 3D 散点图中添加平面

    使用 Blender 创建了这个模型 可以在A形框架中看到这个链接 这个模型很棒 它概述了我在这里想要完成的任务 基本上 我没有名字 而是用点来象征一个特定的平台 在我看来 以当前最先进的水平实现这一目标的最佳方法是通过Plotly 3D
  • Plotly:按值对堆积条形图的 y 轴条进行排序

    我有一个使用plotly 构建堆积条形图的代码示例 import plotly graph objects as go x 2018 01 2018 02 2018 03 fig go Figure go Bar x x y 10 15 3
  • Plotly:如何在情节表达动画中指定分类 x 轴元素?

    我有以下数据 I am using a slider so that I can slide through the different dates please see the picture below to see what a sl
  • 在 Plotly 中悬停/单击时更改整个迹线的颜色

    我在绘图中绘制了当前图形 下面的 jupyter 笔记本代码 并希望创建这样的效果 当您将鼠标悬停或单击每个迹线时 整个迹线将以不同的颜色突出显示 在本例中为红色 我尝试从 SOF 中实现这些示例 Python 中的 Plotly 如何突出
  • 从直方图中获取值或从迹线中获取值

    在情节中 我可以创建一个直方图 例如在此示例中 文档中的代码 import plotly express as px df px data tips fig px histogram df x total bill fig show whi
  • Plotly:如何在不同的轨迹上绘制带有时间值的标记?

    我有2个数据框 df1 包含列 time bid price df2 包含列 time flag 我想将 df1 的时间序列绘制为折线图 并且我想在 df2 flag 列值 True 的时间点上的点上放置标记 我怎样才能做到这一点 您可以通
  • Python Plotly 图表更新有两个下拉菜单

    我正在尝试在 Jupyter Lab 中构建一个绘图散点图 以便能够查看 DataFrame 中各个列之间的依赖关系 我想要两个下拉菜单 对应于 X 轴和 Y 轴 每个菜单中都有 DF 列的完整列表 当我在任何菜单中选择一列时 相应轴上的数
  • 如何对甘特条进行聚类而不重叠?

    使用 create gantt 我有重叠的开始日期和结束日期 import plotly plotly as py import plotly figure factory as ff import plotly df dict Task
  • 更改 Plotly 中的线条颜色

    如何在 Plotly 中设置线条的颜色 import plotly graph objects as go from plotly subplots import make subplots fig make subplots rows 2
  • Plotly:如何为使用多条轨迹创建的图形设置调色板?

    我使用下面的代码生成具有多个轨迹的图表 然而 我知道为每条迹线应用不同颜色的唯一方法是使用随机函数 该函数将数字 RGB 用作颜色 但随机的颜色不利于演示 我如何在下面的代码中使用调色板颜色而不得到更多随机颜色 groups53 dfagi
  • Plotly:如何在不循环数据集的情况下突出显示周末?

    我正在尝试使用plotly 绘制三个不同的时间序列数据帧 每个数据帧大约有60000 条记录 同时使用不同的背景颜色突出显示周末 和工作时间 有没有一种方法可以在不循环遍历整个数据集的情况下做到这一点 如中提到的这个解决方案 https s
  • 为情节图形的每个方面添加痕迹

    我想在情节的各个方面添加痕迹 例如 我想向显示 15 小费的 tips 数据集散点图的每个每日方面添加一条参考线 然而 我下面的尝试仅将线添加到第一个方面 import plotly express as px import plotly
  • Google Colab 中的交互式 matplotlib 图形

    通常在 jupyter 笔记本中我会使用 matplotlib notebook显示交互式窗口的魔法 但这似乎不适用于 google colab 有没有解决方案 或者无法在 google colab 中显示交互式窗口 下面是创建交互的示例i
  • 有没有办法改变散点图上的原点轴(零线)?

    有没有办法改变散点图上的轴 假设将轴从 0 0 即 零线 移动到 3 3 之类的位置并制作象限图 我尝试将 xaxis 和 yaxis 上的 zeroline 值设置为False 然后从 shapes 的两个轴上绘制两条常量线 但我想知道是
  • 带有“href”的plotly树形图元素不适用于本地相对html路径

    我有一个简单的表格 文本内有 href href指向本地html文件的相对路径 但点击它并不会打开该页面 有什么办法可以做到这一点 好的解决方法吗 文件夹结构如下 由于root会改变 所以需要相对路径 root root index htm
  • 显示为“n”、“p”或“f”的小数字

    我正在使用绘图来绘制一些数据 小数字 我看到奇怪的格式 例如78 98p 576 65n 678 76f 这些F是什么 没有任何地方解释这些是什么 我怎样才能把它们变成带有 E 的科学记数法 看到这个https plot ly python
  • 如何调整 Plotly 条形高度并仅显示条形边缘(在子图中)?

    这是我第一次涉足 Plotly 与 matplotlib 和 bokeh 相比 我喜欢它的易用性 然而 我陷入了一些关于如何美化我的情节的基本问题 首先 这是下面的代码 其功能齐全 只需复制并粘贴即可 import plotly expre
  • 点击后 Dash DropDown 关闭

    我不希望下拉菜单在选择值后关闭 我希望它在我的页面上保持打开状态 我正在使用 dcc Dropdown dcc Dropdown id job type options self options placeholder Select one
  • Plotly:如何绘制累积“步数”直方图?

    我正在尝试使用 python 中的 Plotly 绘制累积直方图 但使其看起来像 步骤 即没有颜色且仅显示顶线的条形图 像这样的事情 基本上 我试图重现以下 matplotlib 代码的行为 import matplotlib pyplot

随机推荐