我刚刚安装了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) 样本数据如下:
unique_list = ['home0', 'page_a0', 'page_b0', 'page_a1', 'page_b1',
'page_c1', 'page_b2', 'page_a2', 'page_c2', 'page_c3']
sources = [0, 0, 1, 2, 2, 3, 3, 4, 4, 7, 6]
targets = [3, 4, 4, 3, 5, 6, 8, 7, 8, 9, 9]
values = [2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2]
Run Code Online (Sandbox Code Playgroud)
使用文档中的示例代码
fig = go.Figure(data=[go.Sankey(
node = dict(
pad = 15,
thickness = 20,
line = dict(color = "black", width = 0.5),
label = unique_list,
color = "blue" …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的图表,我正在使用 Plotly Express 库来绘制它。图像如下,有两个图例重叠“Rank”和“Genre”。
px.scatter_ternary(data_frame = data, a='Length.', b='Beats.Per.Minute', c='Popularity',
color = 'Rank',
symbol = 'Genre',
labels = {'Length.': 'Len', 'Beats.Per.Minute':'Beats'},
color_continuous_midpoint = 15,
symbol_sequence = ['circle-open-dot', 'cross-open','triangle-ne'])
Run Code Online (Sandbox Code Playgroud)
可以采取什么措施来避免重叠?
我如何利用 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)
在每次迭代中。
我希望在同一画布内有一个多线图,与相同的 x 轴相连,如图所示:
使用子图并不能达到预期的目的。
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(rows=2, shared_xaxes=True,vertical_spacing=0.1)
fig.add_scatter(y=[2, 1, 3], row=1, col=1)
fig.add_scatter(y=[1, 3, 2], row=2, col=1)
fig.show()
Run Code Online (Sandbox Code Playgroud)
我可以知道如何做到这一点吗?如果有人能指出好的阅读材料,我将不胜感激
我正在尝试将交互式绘图(或散景)图嵌入到 excel 中。
为此,我尝试了以下三件事:
这有效并且可以加载在线和离线 html
'''
import plotly
import plotly.graph_objects as go
x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]
y = [i**2 for i in x]
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=x, mode='markers', name="y=x", marker=dict(color='royalblue', size=8)))
fig.add_trace(go.Scatter(x=x, y=y, name="y=x^2", line=dict(width=3)))
plotly.offline.plot(fig, filename='C:/Users/.../pythonProject/test1.html')
Run Code Online (Sandbox Code Playgroud)
.Navigate
本地 plotly.html 将excel 中的 webbrowser 对象重新指向。横幅弹出“.... 限制此文件显示可以访问您的计算机的活动内容”
点击横幅,我遇到了这个错误:
可以在浏览器中打开相同的 HTML。
有没有办法在excel中显示交互式绘图?
我正在尝试使用绘图库绘制图表,并且我想设置每条线的特定宽度。
这是我的代码。
x_link = [125, 257, None, 125, 787, None]
y_link = [383, 588, None, 383, 212, None]
z_link = [65, 85, None, 65, 526, None]
link_size = [3,6]
trace1= go.Scatter3d(
x = x_link,
y = y_link,
z = z_link,
line=dict(
color='#0061ff',
width=link_size
)
)
Run Code Online (Sandbox Code Playgroud)
但它会引发这个错误。
scatter3d.line 的“width”属性收到的“builtins.list”类型的值无效收到的值:[3, 6]
'width' 属性是一个数字,可以指定为: - 区间 [0, inf] 内的 int 或 float
那么,有没有办法设置每行的具体宽度呢?
谢谢。
plotly.express 非常方便地生成漂亮的交互式绘图。下面的代码生成一个按国家/地区着色的折线图。现在我需要的是在图中添加点。有谁知道如何向折线图添加点?
import plotly.express as px
gapminder = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(gapminder, x="year", y="lifeExp", color='country')
fig.show()
Run Code Online (Sandbox Code Playgroud) 我想反转我使用 plotly.graph_objects 为所有过图获得的图形的 y 轴。我知道可以使用 plotly.express 完成轴的反转。但我想知道如何使用plotly.graph_objects
以下方法反转轴:
我正在使用plotly.express饼图帮助页面iso_num
中的示例,并尝试向hover_data属性添加额外的元素(iso_num
是gapminder数据框中的int64列)
import plotly.express as px
df = px.data.gapminder().query("year == 2007").query("continent == 'Americas'")
fig = px.pie(df, values='pop', names='country',
title='Population of American continent',
hover_data=['lifeExp','iso_num'], labels={'lifeExp':'life expectancy','iso_num':'iso num'
})
fig.update_traces(textposition='inside', textinfo='percent+label')
fig.show()
Run Code Online (Sandbox Code Playgroud)
将鼠标悬停在饼图的切片上会给出以下结果:
其中iso num
value 是%{customdata[1]}
而不是列中的数值。
我缺少什么?
谢谢!