小编ves*_*and的帖子

Plotly:如何在两个子图上使用相同的配色方案?

我试图用 plotly 绘制两个散点图,其中在两个子图中自动选择的颜色是相同的,但我找不到这样做的方法。

下面是一个代码片段:

import plotly as py
import plotly.tools as to
import numpy as np
import plotly.graph_objs as go
fig=to.make_subplots(rows=1,cols=2,subplot_titles=['Plot 1','Plot 2'])
X=[0,50,100,150,200,250,300,350,400,450,500]
Y=[1,2,3,4,5,6,7,8,9,10,11]
Z=Y.copy()
for i  in np.arange(11):
    if i==0:
            Z[0]=Y[0]
    else:
            Z[i]=Y[i]+Z[i-1]
trace=go.Scatter(x=X,y=Y)
fig.append_trace(trace,1,1)
trace=go.Scatter(x=X,y=Z,showlegend=False)
fig.append_trace(trace,1,2);
py.offline.plot(fig)
Run Code Online (Sandbox Code Playgroud)

上面的代码绘制了两个子图,散点将具有不同的颜色。我希望它们具有相同的颜色。我知道我可以对两个散点上的颜色进行硬编码,但我需要从某些配色方案中自动选择颜色。

在此处输入图片说明

我怎样才能达到我所需要的?

python plotly

9
推荐指数
1
解决办法
5507
查看次数

Python:如何使用plotly制作阴影区域或交替背景颜色?

仅使用plot.ly 中的这几行代码将在 jupyter notebook 中为您提供以下图:

片段 1:

import plotly
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

iplot(cf.datagen.lines().iplot(asFigure=True,
                               kind='scatter',xTitle='Dates',yTitle='Returns',title='Returns'))
Run Code Online (Sandbox Code Playgroud)

情节 1:

在此处输入图片说明

您如何设置它以便您可以在下面的图中使用交替的背景颜色,就像这篇文章中使用matplotlib显示的那样?

这是一个解释如何添加阴影区域的链接

片段 2:

df.iplot(vspan={'x0':'2015-02-15','x1':'2015-03-15','color':'rgba(30,30,30,0.3)','fill':True,'opacity':.4}, 
         filename='cufflinks/custom-regions')
Run Code Online (Sandbox Code Playgroud)

情节 2:

在此处输入图片说明

感谢您的任何建议!

python plotly plotly-python

9
推荐指数
2
解决办法
3918
查看次数

情节:如何反转轴?

我想反转我使用 plotly.graph_objects 为所有过图获得的图形的 y 轴。我知道可以使用 plotly.express 完成轴的反转。但我想知道如何使用plotly.graph_objects以下方法反转轴:

图形

python data-visualization plotly

9
推荐指数
2
解决办法
6237
查看次数

Plotly:如何更改子图 y 轴的范围?

我有以下代码:

from plotly.subplots import make_subplots
import requests 
import json
import datetime as dt
import pandas as pd
import plotly.graph_objects as go




def get_candles(symbol, window, interval='1h'):
    url = "https://api.binance.com/api/v1/klines"
    end_time = dt.datetime.utcnow()
    delta = dt.timedelta(hours = window)
    start_time = end_time - delta
    start_date = str(int(start_time.timestamp() * 1000))
    end_date = str(int(end_time.timestamp() * 1000))
    limit = '1000'
    market = symbol + 'BUSD'

    req_param = {"symbol": market, "interval": interval, "startTime": start_date, "endTime": end_date, "limit": limit}

    text = requests.get(url, params = req_param).text
    data = json.loads(text) …
Run Code Online (Sandbox Code Playgroud)

python plotly

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

如何使用 Plotly 创建具有 n 种颜色的离散颜色图

我想为Python中的绘图创建一个具有n种颜色的颜色图,它应该从一种颜色淡入另一种颜色。所有默认颜色图只有 10 个离散值,但我正在寻找具有 n > 10 个离散值的颜色图。

>>> px.colors.sequential.Plasma_r

['#f0f921',
 '#fdca26',
 '#fb9f3a',
 '#ed7953',
 '#d8576b',
 '#bd3786',
 '#9c179e',
 '#7201a8',
 '#46039f',
 '#0d0887']
Run Code Online (Sandbox Code Playgroud)

有没有办法将连续的地图分成n部分?

python plotly plotly-python

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

Plotly:如何从两个数据框列中绘制两条线并从其他两列中分配悬停信息?

如何从数据帧的两列绘制两条线图,并且另一列表示 x 轴,另外两列表示前两列的悬停值(工具提示)?

python timeserieschart plotly

8
推荐指数
2
解决办法
2万
查看次数

Plotly:如何获取跟踪颜色属性以绘制具有相同颜色的选定标记?

我正在尝试为我的每个跟踪绘制一个选定的标记。我想为标记和线条分配相同的颜色。有没有办法获得我的痕迹的颜色属性?

fig = go.Figure()

fig.add_trace(go.Scatter(
    x=[0, 1, 2, 3, 4, 5],
    y=[0, 3, 5, 7, 9, 11],
    name='trace01',
    mode='lines+markers',
    marker=dict(size=[0, 0, 30, 0, 0, 0],
            color=[0, 0, 10, 0, 0, 0])
))
fig.add_trace(go.Scatter(
    x=[0, 1, 2, 3, 4, 5],
    y=[3, 5, 7, 9, 11, 13],
    name='trace02',
    mode='lines+markers',
    marker=dict(size=[0, 0, 0, 30, 0, 0],
            color=[0, 0, 0, 10, 0, 0])
))
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python colors plotly plotly-python

8
推荐指数
1
解决办法
5509
查看次数

Plotly:如何在plotly express 散点图中手动设置点的颜色?

https://plotly.com/python/line-and-scatter/有许多散点图示例,但没有一个向您展示如何在 px.scatter 中设置所有点的颜色:

# x and y given as DataFrame columns
import plotly.express as px
df = px.data.iris() # iris is a pandas DataFrame
fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)

我试过添加colour = 'red'等不起作用。这些示例仅向您展示如何通过其他变量着色。

原则上我可以添加另一个功能并将其设置为相同,但这似乎是完成任务的一种奇怪的方式......

python plotly plotly-python

8
推荐指数
3
解决办法
5018
查看次数

Plotly:单击按钮后如何显示图形?

我想仅在单击按钮后才使用 plotly 显示图形,但我不确定如何进行此操作。我的图存储在以下代码位中

    fig1 = go.Figure(data=plot_data, layout=plot_layout)
Run Code Online (Sandbox Code Playgroud)

然后我使用以下代码位定义我的应用程序布局:

app.layout = html.Div([
                #button
                html.Div(className='submit', children=[

                html.Button('Forecast', id='submit', n_clicks=0)
                ]),
                #loading 
                dcc.Loading(
                id="loading-1",
                type="default",
                children=html.Div(id="loading-output-1")
                ),
                #graph
                dcc.Graph(id= 'mpg-scatter',figure=fig),
    
                #hoverdata
                html.Div([
                    dcc.Markdown(id='hoverdata-text')
                ],style={'width':'50%','display':'inline-block'})
])

@app.callback(Output('hoverdata-text','children'),
             [Input('mpg-scatter','hoverData')])

def callback_stats(hoverData):
    return str(hoverData)


if __name__ == '__main__':
    app.run_server()
Run Code Online (Sandbox Code Playgroud)

但问题是我只想首先显示按钮。然后当有人点击预测按钮时,加载功能出现,一秒钟后图表显示。我定义了一个 dcc.loading 组件,但不确定如何定义此功能的回调。

python plotly plotly-dash plotly-python

8
推荐指数
1
解决办法
2557
查看次数

如何从缺少一些观察值的索引推断频率?

使用pd.date_rangedr = pd.date_range('2020', freq='15min', periods=n_obs)会产生间隔或频率为 15 分钟的 DateTimeIndex :

DatetimeIndex(['2020-01-01 00:00:00', '2020-01-01 00:15:00',
           '2020-01-01 00:30:00', '2020-01-01 00:45:00',
           '2020-01-01 01:00:00'],
          dtype='datetime64[ns]', freq='15T')
Run Code Online (Sandbox Code Playgroud)

您可以使用它来设置 pandas 数据框,例如:

import pandas as pd
import numpy as np

# data
np.random.seed(10)
n_obs = 10
daterange = pd.date_range('2020', freq='15min', periods=n_obs)
values = np.random.uniform(low=-1, high=1, size=n_obs).tolist()
df = pd.DataFrame({'time':daterange, 'value':values})
df = df.set_index('time')
Run Code Online (Sandbox Code Playgroud)

现在您可以再次pd.infer_freq(df.index)检索频率'15T'以进行进一步计算。仔细观察help(pd.infer_freq())让我们知道pd.infer_freq将:

Infer the most likely frequency given the input index. If the frequency is …
Run Code Online (Sandbox Code Playgroud)

python pandas

8
推荐指数
1
解决办法
1997
查看次数