标签: plotly

Plotly 表达动画:hoverlabel 的更改仅应用于第一帧

import pandas as pd
from pandas import Timestamp
import plotly.express as px

df = pd.DataFrame({'continent': {127: 'South America',
  128: 'South America',
  129: 'South America',
  130: 'South America',
  131: 'South America'},
 'date': {127: Timestamp('2021-03-01 00:00:00'),
  128: Timestamp('2021-03-26 00:00:00'),
  129: Timestamp('2021-04-20 00:00:00'),
  130: Timestamp('2021-05-15 00:00:00'),
  131: Timestamp('2021-06-09 00:00:00')},
 'total_cases': {127: 20465329.0,
  128: 23470911.0,
  129: 26544779.0,
  130: 29891133.0,
  131: 30534015.0}})

fig = px.bar(df, x='continent', y='total_cases', animation_frame=df.date.astype(str),
#              hover_data={'animation_frame':False,
#                         'continent':False,
#                         }
            )

fig.update_traces(hovertemplate='Date:%{animation_frame}<br>Total Cases:%{y}')
Run Code Online (Sandbox Code Playgroud)

运行上述代码会输出带有动画滑块的条形图。仅当您不移动滑块时,对悬停标签所做的更改才可见。一旦你这样做并且框架发生变化,默认的plotly.express悬停标签就会重新出现(我认为是因为跟踪更新了)。有什么解决办法吗?

编辑:添加 GIF 来显示问题

在此输入图像描述

python data-visualization plotly plotly-python

2
推荐指数
1
解决办法
734
查看次数

R:如何停止在绘图图表上将百分比四舍五入到小数点后 0 位?

我正在尝试向我闪亮的仪表板添加一个绘图。y 轴变量是一个比例,我想将其格式化为百分比。我发现我可以使用布局的 yaxis 设置中的刻度格式功能来完成此操作。然而,由于我的图表中的百分比都很低,我注意到了一些怪癖。

首先,当您将鼠标悬停在数据点上时,y 轴和实际值都会四舍五入到小数点后 0 位。例如,0.0287 和 0.275 都显示为 0.3,尽管它们在图表上的实际位置略有不同,反映了真实的基础价值。

其次,当 y 轴范围如此小并且默认四舍五入到小数点后 0 位时,它在多个刻度处显示相同的值,并且刻度间隔也不直观。

我在下面提供了示例代码,改编自plotly 网站上的示例。(我只是将值更改为较小的值)。

您可以看到它生成的图表给出了刻度线,显示 2%、3%、3%、4%、4%、5%、5%、5%、6%。第一个问题是它具有误导性,其次你可以看到那里有 3x 5%,但只有其他的 2x,所以看起来它甚至没有做出像 4.5%、5%、5.5% 等这样的合理差距,但是而是基于数据值的一些不直观的东西。

library(plotly)

fig <- plot_ly(
  type = "scatter",
  x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 
  y = c(0.0185, 0.0382, 0.0561, 0.0463, 0.0596, 0.048, 0.0287, 0.0275, 0.0243, 0.0429, 0.0450, 0.0391), 
  mode = "markers+lines") 
fig <- fig %>%
  layout(
    yaxis = list(
      tickformat = "%"
    ))

fig
Run Code Online (Sandbox Code Playgroud)

总之:

我如何...

  1. 指定如何四舍五入百分比? …

r rounding-error rounding plotly yaxis

2
推荐指数
1
解决办法
4230
查看次数

在蜡烛图上添加信号

我想在图表上绘制信号,有没有办法在烛台上做到这一点?我执行了以下操作并陷入困境:(

!pip install yfinance
!pip install mplfinance
import yfinance as yf
import mplfinance as mpf
import numpy as np 
import pandas as pd 

df=yf.download('BTC-USD',start='2008-01-04',end='2021-06-3',interval='1d')

buy=np.where((df['Close'] > df['Open']) & (df['Close'].shift(1) < df['Open'].shift(1),1,0)

fig = plt.figure(figsize = (20,10))
mpf.plot(df,figsize=(20,12),type ='candle',volume=True);

# any idea how to add the signal?
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas plotly mplfinance

2
推荐指数
1
解决办法
3193
查看次数

如何使用 Dash 添加/创建自定义加载程序?

我想将我的 gif 传递给加载器组件,而不是使用默认的数字。有人知道该怎么做吗?

这是我的代码:

dcc.Loading(
    id="loading-1",
    type="default",
    children=html.Div(id="loading-output-1"),
)
Run Code Online (Sandbox Code Playgroud)

我正在尝试完成这样的事情:

dcc.Loading(
    id="loading-1",
    type="assets/dashboard_loader.gif",
    children=html.Div(id="loading-output-1"),
)
Run Code Online (Sandbox Code Playgroud)

有人可以指导我吗?

python flask plotly plotly-dash plotly-python

2
推荐指数
1
解决办法
5359
查看次数

如何在绘图破折号中向直方图添加垂直线?

我有一个graph在回调时触发的组件。这是我从回调函数绘制直方图的代码。

xtup = np.random.lognormal(90, 3, size=1000)
xtup = list(map('{:.0f}'.format,xtup[0]))
xarr = np.asarray(xtup).astype(np.float)

data = [go.Histogram(
                     x = xarr,
                     nbinsx=50,
                     marker=dict(color="rgb(105,105,105)",
                                 opacity=0.5
                                ),

       )]

layout = {
            "xaxis": {'title': 'Values',
                      'tickformat': '${:,.0f}'
                      #'range': [xarr.min(), xarr.max()]
                     },
            "title": "Distribution",
            "width": 650,
            "height": 400,
            "autosize": True
}

return{'data':data, 'layout':layout}
Run Code Online (Sandbox Code Playgroud)

我想在分布的平均值处添加一条垂直虚线。

python matplotlib plotly plotly-dash

2
推荐指数
1
解决办法
5765
查看次数

改变100%堆叠条形图中的颜色python

我正在尝试更改绘图中堆积的 100% 条形图的颜色。

我有以下数据框和代码:

import pandas as pd
import plotly
import plotly.express as px
from plotly.offline import plot

df = pd.DataFrame([["A", "Jan", "20%"],
                   ["A", "Fev", "10%"],
                   ["A", "Mar", "15%"],
                   ["A", "Apr", "10%"],
                   ["B", "Jan", "15%"],
                   ["B", "Fev", "15%"],
                   ["B", "Mar", "20%"],
                   ["B", "Apr", "10%"],
                   ["C", "Jan", "25%"],
                   ["C", "Fev", "25%"],
                   ["C", "Mar", "20%"],
                   ["C", "Apr", "30%"],
                   ["D", "Jan", "40%"],
                   ["D", "Fev", "50%"],
                   ["D", "Mar", "45%"],
                   ["D", "Apr", "50%"]],
                  columns=["type", "month", "percentage"])

colors = plotly.colors.qualitative.Prism

fig=px.bar(df, x='month', y='percentage',
            color=df['type'], barmode ='stack', …
Run Code Online (Sandbox Code Playgroud)

python bar-chart pandas plotly

2
推荐指数
1
解决办法
3496
查看次数

在情节表达动画中隐藏播放和停止按钮

如何删除播放和停止按钮并只保留滑块?

import plotly.express as px
import pandas as pd

df = pd.DataFrame(dict(x=[0, 1, 0, 1],
                       y=[0, 1, 1, 0],
                       z=[0, 0, 1, 1]))
px.line(df, "x", "y", animation_frame="z")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python animation plotly plotly-python

2
推荐指数
1
解决办法
1053
查看次数

pythonplotly小提琴图显示负尾

pythonplotly小提琴图显示负尾,但没有低于0的值。实际y轴在0到23之间(24小时间隔)。但小提琴图尾部超过 23 且小于 0(第 0 和第 23 边距级别添加到图表中)。

在此输入图像描述

代码:

fig = go.Figure()

fig.add_trace(go.Violin(x=df['Region'][ df['alarm_severity'] == 'CRITICAL' ],
                        y=df['OccurredTime'][ df['alarm_severity'] == 'CRITICAL' ],
                        legendgroup='CRITICAL', scalegroup='CRITICAL', name='CRITICAL',
                        line_color='blue')
             )

fig.add_trace(go.Violin(x=df['Region'][ df['alarm_severity'] == 'MAJOR' ],
                        y=df['OccurredTime'][ df['alarm_severity'] == 'MAJOR' ],
                        legendgroup='MAJOR', scalegroup='MAJOR', name='MAJOR',
                        line_color='red')
             )
fig.add_trace(go.Violin(x=df['Region'][ df['alarm_severity'] == 'WARNING' ],
                        y=df['OccurredTime'][ df['alarm_severity'] == 'WARNING' ],
                        legendgroup='WARNING', scalegroup='WARNING', name='WARNING',
                        line_color='green')
             )


fig.add_trace(go.Violin(x=df['Region'][ df['alarm_severity'] == 'MINOR' ],
                        y=df['OccurredTime'][ df['alarm_severity'] == 'MINOR' ],
                        legendgroup='MINOR', scalegroup='MINOR', name='MINOR',
                        line_color='orange')
             )



fig.update_traces(box_visible=True, meanline_visible=True )
fig.update_layout(violinmode='group',width=1000,
    height=600)



fig.show()
Run Code Online (Sandbox Code Playgroud)

python boxplot plotly violin-plot plotly-python

2
推荐指数
1
解决办法
1712
查看次数

使用plotly.express折线图,线条以奇怪的顺序连接?怎么修?

在此输入图像描述

拥有数据 df,执行以下操作:

fig=px.line(df, x='date', y='px', color='description') 
Run Code Online (Sandbox Code Playgroud)

下图的渲染效果如所附图像。这是预期的行为吗?如何使点仅按时间顺序连接?

python plotly plotly-dash plotly-python plotly-express

2
推荐指数
1
解决办法
1788
查看次数

Plotly:如何在不循环数据集的情况下突出显示周末?

我正在尝试使用plotly 绘制三个不同的时间序列数据帧(每个数据帧大约有60000 条记录),同时使用不同的背景颜色突出显示周末(和工作时间)。

有没有一种方法可以在不循环遍历整个数据集的情况下完成此解决方案中提到的操作。虽然此方法可能有效,但在大型数据集上性能可能较差

python time-series plotly plotly-python

2
推荐指数
1
解决办法
2344
查看次数