标签: plotly-python

如何使用 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 中创建带有渐变颜色链接的桑基图?

有没有办法使 Plotly Sankey 图中的链接在源节点颜色和结束节点颜色之间具有颜色渐变?该图像取自Plotly文档链接的页面

我在 GitHub 上看到过一些关于 Plotly 中这个功能的讨论,但他们从未说过它是否真的实现了。理想情况下,结果仍应是可在 HTML 文件中显示的矢量图形。

带有彩色链接的桑基图

html svg plotly sankey-diagram plotly-python

9
推荐指数
0
解决办法
1491
查看次数

如何使用数据框定义sankey图的结构?

这听起来像是一个非常广泛的问题,但是如果您让我描述一些细节,我可以向您保证这是非常具体的。以及令人沮丧,沮丧和愤怒。


下图描述了苏格兰选举,并基于plot.ly的代码:

情节1:

在此处输入图片说明

资料集1:

data = [['Source','Target','Value','Color','Node, Label','Link Color'],
        [0,5,20,'#F27420','Remain+No – 28','rgba(253, 227, 212, 0.5)'],
        [0,6,3,'#4994CE','Leave+No – 16','rgba(242, 116, 32, 1)'],
        [0,7,5,'#FABC13','Remain+Yes – 21','rgba(253, 227, 212, 0.5)'],
        [1,5,14,'#7FC241','Leave+Yes – 14','rgba(219, 233, 246, 0.5)'],
        [1,6,1,'#D3D3D3','Didn’t vote in at least one referendum – 21','rgba(73, 148, 206, 1)'],
        [1,7,1,'#8A5988','46 – No','rgba(219, 233, 246,0.5)'],
        [2,5,3,'#449E9E','39 – Yes','rgba(250, 188, 19, 1)'],
        [2,6,17,'#D3D3D3','14 – Don’t know / would not vote','rgba(250, 188, 19, 0.5)'],
        [2,7,2,'','','rgba(250, 188, 19, 0.5)'],
        [3,5,3,'','','rgba(127, 194, 65, 1)'],
        [3,6,9,'','','rgba(127, …
Run Code Online (Sandbox Code Playgroud)

python sankey-diagram jupyter-notebook plotly-python

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

将线段添加到绘图中的简洁方法(使用 python/jupyter 笔记本)?

我想创建一个带有几个水平线段的棒棒糖图,如下所示 - https://python-graph-gallery.com/184-lollipop-plot-with-2-group。我想使用plotly,因为我更喜欢图形(和简单的交互性),但找不到简洁的方法。

有两个折线图(https://plot.ly/python/line-charts/),您可以在布局中添加线条(https://plot.ly/python/shapes/#vertical-and-horizo​​ntal -lines- Positioned-relative-to-the-axes),但这两种解决方案都需要单独添加每个线段,每个线段大约有 4-8 行代码。虽然我可以只 for 循环这个,但如果有人可以向我指出任何具有内置矢量化的内容,例如 matplotlib 解决方案(第一个链接),我将不胜感激!

编辑:还尝试了以下代码,首先将绘图设为 matplotlib,然后转换为plotly。线段在此过程中消失。开始认为这是不可能的。

mpl_fig = plt.figure()

# make matplotlib plot - WITH HLINES
plt.rcParams['figure.figsize'] = [5,5]
ax = mpl_fig.add_subplot(111)
ax.hlines(y=my_range, xmin=ordered_df['value1'], xmax=ordered_df['value2'], 
color='grey', alpha=0.4)
ax.scatter(ordered_df['value1'], my_range, color='skyblue', alpha=1, 
label='value1')
ax.scatter(ordered_df['value2'], my_range, color='green', alpha=0.4 , 
label='value2')
ax.legend()

# convert to plotly
plotly_fig = tls.mpl_to_plotly(mpl_fig)
plotly_fig['layout']['xaxis1']['showgrid'] = True
plotly_fig['layout']['xaxis1']['autorange'] = True
plotly_fig['layout']['yaxis1']['showgrid'] = True
plotly_fig['layout']['yaxis1']['autorange'] = True

# plot: hlines disappear :/
iplot(plotly_fig)
Run Code Online (Sandbox Code Playgroud)

python plotly jupyter-notebook plotly-python

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

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
查看次数

用于绘图表达热图的自定义悬停模板

我正在尝试在 python 中使用包含附加变量的自定义悬停模板从 pandas 数据帧plotly.express生成热图。例如:

import pandas as pd
import plotly.express as px

df = pd.DataFrame({'A': [10, 11, 12], 'B': [10, 12, 14], 'C': [12, 14, 16]}, 
       index=['joe', 'tom', 'bob'])

fig = px.imshow(df)
fig.update_layout(xaxis={'title': 'Letters'}, yaxis={'title': 'Nicknames'})
fig.show()
Run Code Online (Sandbox Code Playgroud)

给了我这个:

情节热图

我想要的是在悬停信息中添加或替换变量,例如将昵称替换为约瑟夫、托马斯和罗伯特。

这必须是可能的,但我不知道如何使用热图来做到这一点。有没有直接的方法可以做到这一点plotly.express?我应该使用“go”界面(如果是的话,如何)?

python plotly-python

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

Plotly:条形图不透明度随着时间范围的延长而变化

我注意到绘制不同的时间尺度会导致重叠条形图的不透明度褪色。我该如何纠正这个问题?在第一张图片中,我绘制了 2 年的时间范围,在第二张图片中,我绘制了 1 年的时间范围。请注意,前者有一个明显褪色的条形图,我希望这两个图表无论范围如何都是相同的。

旁注:我正在“破解”图表以主轴为中心,如果有人可以帮助我弄清楚如何直接设置辅助轴的 y 轴范围,这也会非常有帮助。

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

filtered = df[(df['date'] > '2017-1-24') & (df['date'] <= '2018-1-24')]

fig = make_subplots(specs=[[{"secondary_y": True}]])

fig.add_trace(
    go.Bar(
        x=filtered['date'], 
        y=filtered['divergence'],
        opacity=0.5
    )
)

fig.add_trace(
    go.Scatter(
        x=filtered['date'], 
        y=filtered['price'],
        mode="lines"
    ),
    secondary_y=True
)

fig.update_layout(yaxis_range=[-9, 9])
fig.show()
Run Code Online (Sandbox Code Playgroud)

不透明度低于预期:

在此输入图像描述

不透明度正常:

在此输入图像描述

python plotly plotly-python

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

如何使用 Plotly 在热图上显示文本?

我试图z在 Plotly 热图上将项目显示为文本。我使用的是最新版本 (5.5.0),并按照 Plotly 热图网页 ( https://plotly.com/python/heatmaps/ ) 上显示的确切示例进行操作,请参阅底部附近的“热图点上的文本”部分。

我的代码是他们的示例代码,即:

figHeatmap = go.Figure(
                       data=go.Heatmap(
                                       z=[[1,20,30], [20,1,60], [30,60,1]], 
                                       text=[['1','2','3'],['4','5','6'],['7','8','9']], 
                                       texttemplate="%{text}", 
                                       textfont={"size":20}
                                       )
                      )
Run Code Online (Sandbox Code Playgroud)

当我在网页中呈现我的应用程序时,我看到的是: 在此输入图像描述

但在他们的网站上它显示了标签: 在此输入图像描述

当我运行我的应用程序时,我没有收到任何错误,并且当我将鼠标悬停在热图上时,标签确实显示,但文本没有按应有的方式显示在热图上。由于我使用的是他们的确切示例,因此我不明白可能出了什么问题。有什么想法吗?

[编辑]:这似乎是达世币的问题。当我以交互方式运行该示例时,我确实得到了文本标签。但我的应用程序是 Dash 应用程序的一部分,这就是我看不到渲染标签的地方。

python heatmap plotly plotly-dash plotly-python

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

除非我指定高度,否则绘图图在 Jupyter Lab 中会折叠

当我尝试绘制 Plotly 图表时,高度设置为接近 0 或其他值,因为图表呈现折叠状态。我所看到的:

折叠图

但是,如果我手动设置图形的高度,它就会正确呈现。如何在不手动设置高度的情况下正确渲染图表?

重现折叠图的代码:

import plotly.io as pio
pio.renderers.default = "jupyterlab"
import plotly.express as px
import pandas as pd

import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()
Run Code Online (Sandbox Code Playgroud)

现在让图表显示:

fig.layout.height = 500
fig.show()
Run Code Online (Sandbox Code Playgroud)

我正在使用以下设置运行它:

  • 码头工人Ubuntu 22.04
  • 情节==5.14.1
  • jupyterlab==4.0.0
  • ipywidgets==8.0.3

plotly jupyter-lab plotly-python

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