标签: plotly

Plotly+Python:如何在 3D 中绘制箭头?

我正在使用 Plotly+Python。如何在 3D 中绘制由箭头表示的单个向量?

注释(这本来是一个 hacky 解决方法)仅是 2D 的,而 Quiver 图也是仅 2D 的。

python plotly

10
推荐指数
3
解决办法
4914
查看次数

plotly.py:更改线条不透明度,使标记不透明

是否可以更改线条不透明度而不是标记不透明度?我发现我可以设置整条线的不透明度,包括标记 ( opacity = .5) 和标记之一 (例如marker={"opacity":1})。

如本例所示:

import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)  # I'm running in a jupyter notebook

x = np.arange(0,10)
ys = [np.random.rand(10) for _ in range(3)]

lines = []
for y in ys:
    line = go.Scatter(x=x, y=y, mode="markers+lines", opacity=.5, marker={'symbol': 'x', 'size': "15", "opacity":1})
    lines.append(line)           
fig = go.Figure(
    data=lines,
    layout=go.Layout(showlegend=True)
)
plotly.offline.iplot(fig)
Run Code Online (Sandbox Code Playgroud)

在此处查看结果: 当前结果

我的问题如下:我的数据点很重要,线条只是视觉辅助。我想让线条 .5-opaque 但让标记完全不透明。
但是,当我设置opacity=.5, marker={'opacity':1}标记的不透明度也降低了。(我相信标记不透明度是在范围内定义的[0, line-opacity]

有什么方法可以获取线条的颜色并调整其不透明度(甚至在创建线条之后,但在绘制线条之前)。我知道我可以创建两条轨迹,一条是点,一条是线。但是,我希望它们具有相同的颜色,而无需手动指定颜色。(轨迹的数量是不同的,所以我更喜欢坚持分配不同颜色的标准机制)

编辑:我目前的解决方案是将线宽设置为 0.5,这样看起来更好,但显然这个解决方案对我有用,对于想要粗体和不透明线条的人来说可能没有用。

编辑:关于这个问题/功能请求/行为的 …

python opacity plotly

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

在 jupyter 实验室中未呈现 Plotly Express

以下代码不会在 Jupyter 实验室中呈现:

%matplotlib widget
import plotly.express as px  
import numpy as np 
import pandas as pd

df = pd.DataFrame(np.random.randint(0,100,size=(5, 4)), columns=list('ABCD'))
px.bar(df, x='A', y='B')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 我试图安装这里提到的所有依赖项和扩展 https://plot.ly/python/getting-started/#jupyterlab-support-python-35

还有这里的步骤 https://github.com/matplotlib/jupyter-matplotlib

没有任何效果

这是我的设置:

jupyter lab --version
1.0.2

python --version
Python 3.6.1 :: Continuum Analytics, Inc.

conda list jupyterlab
# packages in environment at C:\Users\***\Anaconda3:
#
# Name                    Version                   Build  Channel
jupyterlab                1.0.2            py36hf63ae98_0
jupyterlab_launcher       0.13.1                   py36_0
jupyterlab_server         1.0.0                      py_0

conda list nodejs
# packages in environment at C:\Users\***\Anaconda3:
#
# Name                    Version …
Run Code Online (Sandbox Code Playgroud)

python plotly jupyter-lab plotly-express

10
推荐指数
1
解决办法
8719
查看次数

使用显示的 Plotly Express 小部件保存 Jupyter Notebook

我有一个 Jupyter 笔记本(python),我使用 plotly express 在笔记本中绘图以进行分析。我想与非编码人员共享此笔记本,并且仍然可以使用交互式视觉效果 - 但它似乎不起作用。

我尝试遵循此处提出的建议,但即使在保存小部件状态并使用 之后nbconvert,当我打开新的 HTML 文件时,视觉效果也不可用。

绘图的示例线如下所示:

import plotly_express as px
fig = px.scatter(
    df, 
    x='size', 
    y='size_y', 
    color='clients',
    hover_data=['id'], 
    marginal_y="histogram", 
    marginal_x="histogram"
)
fig.show()
Run Code Online (Sandbox Code Playgroud)

python data-visualization plotly jupyter-notebook plotly-express

10
推荐指数
2
解决办法
5423
查看次数

如何在 Python 中使用 Plotly Express 在同一 y 轴上绘制多条线

我刚刚安装了plotly express。我正在尝试做一些简单的事情 - 将我的数据框的每一列绘制在同一个 y 轴上,索引作为 x 轴。以下是问题/观察:

数据框是否有必要将索引作为列用作 x 轴?我可以不直接使用 x 轴的索引吗?如何为同一个 x 轴添加在 y 轴上以绘图方式调用的多个轨迹?

请注意,我不是尝试使用 plotly 添加跟踪,而是尝试使用 plotly-express。

此外,网上有一些类似的帖子,最接近的是这个https : //community.plot.ly/t/multiple-traces-plotly-express/23360 但是,这篇文章展示了如何添加散点,而不是一条线. 我想绘制一条线,但没有类似于此处示例中显示的 add_scatter 的 add_line。

提前感谢任何帮助

示例代码:

import plotly.express as px 
import pandas as pd 
import numpy as np 

# Get some data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')

# Plot 
fig = px.line(df, x='Date', y='AAPL.High')

# Only thing I figured is - I could do this 
fig.add_scatter(x=df['Date'], y=df['AAPL.Low']) # Not what is desired - need …
Run Code Online (Sandbox Code Playgroud)

python plotly plotly-express

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

如何将 Dash 布局保存到 HTML 文件

我正在尝试将 Dash 布局保存在 HTML 文件中,但找不到实现此目的的方法。奇怪的是,保存单个 Plotly 图形很容易,但不是 Dash 布局。有没有人有办法解决吗?

我看到这个问题已经在这里有了答案/sf/answers/3570951611/,但我不明白。特别是关于交互性损失的说明。可以看到在保存单个绘图时保持了交互性,因此对于整个布局应该是相同的。

以下是我已经尝试过的事情:

import dash_core_components as dcc
import dash_html_components as html
import dash
import plotly as py
import plotly.graph_objs as go

# Create two figures.
fig1 = go.Figure(data=go.Scatter(x=[0, 1, 2], y=[0, 10, 0]))
fig2 = go.Figure(data=go.Scatter(x=[0, 1, 2], y=[0, -10, 0]))

# Write fig1 to HTML. The three methods below work.
py.io.write_html(fig1, file="fig1_a.html", auto_open=True)
fig1.write_html(file="fig1_b.html", auto_open=True)
py.offline.plot(fig1, filename='fig1_c.html', auto_open=True)

# Write fig2 to HTML. The three methods below work.
py.io.write_html(fig2, …
Run Code Online (Sandbox Code Playgroud)

html python plotly plotly-dash

10
推荐指数
1
解决办法
2991
查看次数

有没有办法绘制印度地图?

我正在尝试使用 plotly 绘制印度地图,但无法找到一种方法来做到这一点。以下是我为美国尝试的代码。

import pandas as pd

df_sample = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/laucnty16.csv')
df_sample['State FIPS Code'] = df_sample['State FIPS Code'].apply(lambda x: str(x).zfill(2))
df_sample['County FIPS Code'] = df_sample['County FIPS Code'].apply(lambda x: str(x).zfill(3))
df_sample['FIPS'] = df_sample['State FIPS Code'] + df_sample['County FIPS Code']

colorscale = ["#f7fbff","#ebf3fb","#deebf7","#d2e3f3","#c6dbef","#b3d2e9","#9ecae1",
              "#85bcdb","#6baed6","#57a0ce","#4292c6","#3082be","#2171b5","#1361a9",
              "#08519c","#0b4083","#08306b"]
endpts = list(np.linspace(1, 12, len(colorscale) - 1))
fips = df_sample['FIPS'].tolist()
values = df_sample['Unemployment Rate (%)'].tolist()

fig = ff.create_choropleth(
    fips=fips, values=values,
    binning_endpoints=endpts,
    colorscale=colorscale,
    show_state_data=False,
    show_hover=True, centroid_marker={'opacity': 0},
    asp=2.9, title='USA by Unemployment %',
    legend_title='% unemployed'
)

fig.layout.template = None
fig.show() …
Run Code Online (Sandbox Code Playgroud)

python plotly

10
推荐指数
2
解决办法
4594
查看次数

Plotly:如何更改绘图表达散点图的配色方案?

我正在尝试与plotly,特别是ploty express,构建一些可视化。

我正在构建的一件事是散点图

我在下面有一些代码,它产生了一个很好的散点图:

import plotly.graph_objs as go, pandas as pd, plotly.express as px
df = pd.read_csv('iris.csv')
fig = px.scatter(df, x='sepal_length', y='sepal_width',
              color='species', marker_colorscale=px.colors.sequential.Viridis)
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,我想尝试更改配色方案,即为每个物种呈现的颜色。

我读过了:

但是不能让颜色改变。

试:

fig = px.scatter(df, x='sepal_length', y='sepal_width',
              color='species', marker_colorscale=px.colors.sequential.Viridis)
Run Code Online (Sandbox Code Playgroud)

产量:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-78a9d58dce23> in <module>
      2 # https://plotly.com/python/line-and-scatter/
      3 fig = px.scatter(df, x='sepal_length', y='sepal_width',
----> 4               color='species', marker_colorscale=px.colors.sequential.Viridis)
      5 fig.show()

TypeError: scatter() got an unexpected keyword argument 'marker_colorscale'
Run Code Online (Sandbox Code Playgroud)

试: …

python visualization data-visualization plotly

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

Plotly:如何使用 plotly express 在辅助 y 轴上绘图

我如何利用 plotly.express 在一个 Pandas 数据框中的两个 yaxis 上绘制多条线?

我发现这对于绘制包含特定子字符串的所有列非常有用:

    fig = px.line(df, y=df.filter(regex="Linear").columns, render_mode="webgl")
Run Code Online (Sandbox Code Playgroud)

因为我不想遍历所有过滤的列并使用以下内容:

    fig.add_trace(go.Scattergl(x=df["Time"], y=df["Linear-"]))
Run Code Online (Sandbox Code Playgroud)

在每次迭代中。

python express plotly yaxis

10
推荐指数
1
解决办法
8090
查看次数

Plotly:如何在 plotly express 折线图中更改图例的变量/标签名称?

我想在python中的plotly express中更改变量/标签名称。我首先创建一个情节:

import pandas as pd
import plotly.express as px

d = {'col1': [1, 2, 3], 'col2': [3, 4, 5]}
df = pd.DataFrame(data=d)
fig = px.line(df, x=df.index, y=['col1', 'col2'])
fig.show()
Run Code Online (Sandbox Code Playgroud)

其中产生:

在此处输入图片说明

我想将标签名称从col1更改为hello并将col2更改为hi。我曾尝试在图中使用标签,但无法使其正常工作:

fig = px.line(df, x=df.index, y=['col1', 'col2'], labels={'col1': "hello", 'col2': "hi"})
fig.show()
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何作用,同时不会产生错误。显然我可以通过更改列名来实现我的目标,但我试图创建的实际图并没有真正允许这样做,因为它来自几个不同的数据框。

python label plotly

10
推荐指数
3
解决办法
7939
查看次数