我正在尝试使用ggplotly为我的ggplot图表添加交互性.我试过在RStudio和命令行中运行它,结果相同.
数据:
library(plotly)
df1 <- as.data.frame(list('x'=1:100,'y'=1:100,'lw'=abs(rnorm(100))))
b <- ggplot(data=df1, aes(x=x,y=y)) + geom_line(size=df1$lw)
Run Code Online (Sandbox Code Playgroud)
使用我的真实数据,结果更糟.下面是a plot(),这是正确的,接下来是ggplotly()
知道如何正确显示这个吗?
我有一个简单的问题关于使用R中的plotly包的三维散点图.看起来所有的图都在使用三维散点图和线图.为了测试这个,我尝试了以下代码(=从备忘单中获取):
library(plotly)
plot_ly(type = "scatter3d", x = c(9,8,5,1), y = c(1,2,4,8),z = c(11,8,15,3),
mode = "markers")
Run Code Online (Sandbox Code Playgroud)
我最终得到的图表只包含轴而不是实际点.为了排除故障,我添加了让我感到困惑的颜色,因为带有颜色标度的图例确实出现了但不是点数本身.我注意到轴的刻度错误((80,-80),(60,-60),(100,-100)).
此外,3d表面图和2d散点图示例完美地工作.
我按照指南在这里:
https://plot.ly/python/filled-chord-diagram/
我制作了这个:
在指南中,我按照ribbon_info代码将hoverinfo添加到连接色带但没有显示.我可以让hoverinfo只显示功能区结束.任何人都可以看到我错在哪里?
ribbon_info=[]
for k in range(L):
sigma=idx_sort[k]
sigma_inv=invPerm(sigma)
for j in range(k, L):
if matrix[k][j]==0 and matrix[j][k]==0: continue
eta=idx_sort[j]
eta_inv=invPerm(eta)
l=ribbon_ends[k][sigma_inv[j]]
if j==k:
layout['shapes'].append(make_self_rel(l, 'rgb(175,175,175)' ,
ideo_colors[k], radius=radii_sribb[k]))
z=0.9*np.exp(1j*(l[0]+l[1])/2)
#the text below will be displayed when hovering the mouse over the ribbon
text=labels[k]+' appears on'+ '{:d}'.format(matrix[k][k])+' of the same grants as '+ '',
ribbon_info.append(Scatter(x=z.real,
y=z.imag,
mode='markers',
marker=Marker(size=5, color=ideo_colors[k]),
text=text,
hoverinfo='text'
)
)
else:
r=ribbon_ends[j][eta_inv[k]]
zi=0.9*np.exp(1j*(l[0]+l[1])/2)
zf=0.9*np.exp(1j*(r[0]+r[1])/2)
#texti and textf are the strings that will be …Run Code Online (Sandbox Code Playgroud) 我想绘制一个带有Plotly的3D-Line Plot用于时间序列并填充每一行.我这里有一个示例代码.
library(plotly)
dens <- with(diamonds, tapply(price, INDEX = cut, density))
data <- data.frame(
x = unlist(lapply(dens, "[[", "x")),
y = unlist(lapply(dens, "[[", "y")),
cut = rep(names(dens), each = length(dens[[1]]$x)))
p <- plot_ly(data, x = ~cut, y = ~x, z = ~y, type = 'scatter3d', mode = 'lines', color = ~cut)
p
Run Code Online (Sandbox Code Playgroud)
用这个代码我可以产生这个图
没有填充的3d线图
我已经尝试过surfaceaxis=0,1或2,他们产生错误的填充物.
3D-Plotly错误填充
我想要的是填充x轴和线图之间的区域.
有一个示例3D图与另一个值.
作为示例3D-Plot,在曲线下填充另一个值
有人可以建议一个方法吗?先感谢您.
编辑:必须使用"plotly"包创建
我有一个时间序列数据如下:
Datum Menge
1/1/2018 0:00 19.5
1/1/2018 0:15 19.0
1/1/2018 0:30 19.5
1/1/2018 0:45 19.5
1/1/2018 1:00 21.0
1/1/2018 1:15 19.5
1/1/2018 1:30 20.0
1/1/2018 1:45 23.0
Run Code Online (Sandbox Code Playgroud)
并且数据框data的形状为 (14880, 2)。在该Menge列中,只有 11807 个可用值,其余为nan
我试图按如下方式绘制它:
data.plot()
plt.show()
Run Code Online (Sandbox Code Playgroud)
这给了我
但我想使用seaborn或绘制相同的图plotly
因为seaborn我试过:
x = data.Datum
y = data.Menge.values
sns.lineplot(x = x, y = y, data = data)
Run Code Online (Sandbox Code Playgroud)
它给了我输出:
Out[3]: <matplotlib.axes._subplots.AxesSubplot at 0x21286bb8668>
Run Code Online (Sandbox Code Playgroud)
并打开了一个新的图形窗口,但它说 Figure 1 (Not Responding)
所以,我有两个问题:
Datum那里的值。如何更改?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以下方法反转轴:

Dash 中 (空格)的 HTML 等价物是什么?
html.Div(
[
dcc.Input(),
<add horizontal space here>
dcc.Input()
]
)
Run Code Online (Sandbox Code Playgroud) 我试图在 plotly 的同一个图中绘制条形图和散点图,但它只显示散点图。
如何显示两个图?
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.ticker import PercentFormatter
import plotly
import plotly.offline as py
import plotly.graph_objs as go
import plotly.figure_factory as ff
import plotly.tools as tls
from plotly.subplots import make_subplots
from plotly.offline import plot, iplot, init_notebook_mode
init_notebook_mode(connected=False)
df = pd.DataFrame({
'price': [ 4.0, 17.0, 7.0, 7.0, 2.0, 1.0, 1.0],
'item': ['apple', 'banana', 'carrot', 'plum',
'orange', 'date', 'cherry']})
df = df.sort_values(num,ascending=False)
df['cumulative_sum'] = df[num].cumsum() …Run Code Online (Sandbox Code Playgroud) 我使用了一个 plotly.js parcats 图表来制作一个连续的 sankey (例如https://github.com/EE2dev/sequence-explorer)。以下是显示测验之间成绩变化的示例 parcats:
var trace1 = {
type: 'parcats',
hoveron: 'color',
dimensions: [
{
label: 'Quiz 1',
values: ['Black', 'Black', 'Black', 'Brown', 'Brown', 'Brown', 'Red', 'Brown'],
},
{
label: 'Quiz 2',
values: ['Brown', 'Brown', 'Brown', 'Brown', 'Brown', 'Blue', 'Blue', 'Blue'],
},
{
label: 'Quiz 3',
values: ['Female', 'Female', 'Female', 'Male', 'Female', 'Male', 'Male', 'Male'],
},
],
};
var data = [ trace1 ];
var layout = {width: 600};
Plotly.newPlot('myDiv', data, layout);
Run Code Online (Sandbox Code Playgroud)
当我将鼠标悬停在一条路径上时,从“测验 1”到“测验 3”的完整路径会突出显示,但我希望仅突出显示“测验 …
plotly ×10
python ×6
r ×3
3d ×2
ggplot2 ×1
javascript ×1
matplotlib ×1
plot ×1
plotly-dash ×1
plotly.js ×1
python-3.x ×1
r-plotly ×1
seaborn ×1