我在 Dash 中有一个散点图,其中文本属性(设置悬停时显示的文本)设置为从数据框中的特定列获取文本。
问题是一些悬停文本太长并且超出了页面。有没有办法让悬停长度固定,这样就不会发生这种情况?
我已经看到使用悬停格式来处理数值数据。但我的悬停信息是文本。
让我们考虑以下情节:
p1 <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "Size",
type = "bar")
p2 <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(10, 2, 3),
name = "Weight",
type = "bar"
)
p <- subplot(p1, p2, nrows = 2, shareX = TRUE)
p %>% layout(yaxis = list(title = "Size"))
Run Code Online (Sandbox Code Playgroud)
我想控制每个子图的 y 轴标题。看起来我这样做的方式只能控制顶部的子图。如何为底部子图的 y 轴添加标题?
我有一个具有不同列的数据框。第一个是年份,其余的是不同品牌。我想绘制一张图表,显示这些不同品牌多年来在利润方面的表现。该图表应该有一个下拉菜单,允许您选择您想要查看的公司,这是一个包含所有品牌的下拉复选框。该复选框还应该允许您同时看到所有这些,或只是其中一些。
\n\n#Here is my go at it.\n\nlibrary(plotly)\nx <- seq(-2 * pi, 2 * pi, length.out = 1000)\ndf <- data.frame(x, y1 = sin(x), y2 = cos(x), y3=cos(2*x), y4=sin(3*x))\n\np <- plot_ly(df, x = ~x) %>%\n add_lines(y = ~y1, name = "Sin") %>%\n add_lines(y = ~y2, name = "Cos", visible = F) %>%\n layout(\n title = "Drop down menus - Styling",\n xaxis = list(domain = c(0.1, 1)),\n yaxis = list(title = "y"),\n updatemenus = list(\n\n list(\n y = 0.7,\n buttons = list(\n …Run Code Online (Sandbox Code Playgroud) 我有与此 OP相同的问题,但对于 R 而言,是plotly 而不是plot()。
是否可以使绘图对象的图例背景透明?如何?如果可能,最好选择部分透明度,例如 alpha 级别为 0.4。
我有一个数据集如下:
import pandas as pd
data = dict(Pclass=[1,1,2,2,3,3],
Survived = [0,1,0,1,0,1],
CategorySize = [80,136,97,87,372,119] )
Run Code Online (Sandbox Code Playgroud)
我需要在pythonbarchart中创建一个using ,它按Pclass分组。在每组中,我有 2 列和,在 Y 轴上我应该有. 因此,我必须有 6 个条,分为 3 组。plotlySurvived=0Survived=1CategorySize
这是我尝试过的:
import plotly.offline as pyo
import plotly.graph_objects as go
data = [ go.Bar( x = PclassSurvived.Pclass, y = PclassSurvived.CategorySize ) ]
layout = go.Layout(title= 'Pclass-Survived', xaxis = dict(title = 'Pclass'), yaxis = dict(title = 'CategorySize'),barmode='group' )
fig = go.Figure(data = data, layout = layout)
pyo.plot( …Run Code Online (Sandbox Code Playgroud) 我有一些旧代码,以类似的方式在同一张图上绘制很多线
import plotly.plotly as py
import plotly.graph_objs as go
data = [regtimes, avg5times]
py.iplot(data, filename='basic-line')
Run Code Online (Sandbox Code Playgroud)
这将在同一个图上绘制两条线。我尝试再次使用它,它说plotly.plotly已被弃用。现在我有类似的东西
individualtimes = go.Scatter(
y = times,
x = x1,
)
test = go.Scatter(
y2=[1, 1, 5],
x2=x1
)
data = [individualtimes,test]
fig = go.Figure(data=data)
fig.show()
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Fig.show来绘制这样的多条线?谢谢!
我希望在地图上获得这种渐变颜色:
ramp <- colorRamp(c("royalblue4", "white"))
ramp.list <- rgb( ramp(seq(0, 1, length = 15)), max = 255)
Run Code Online (Sandbox Code Playgroud)
而且,更重要的是,我希望向图表添加情节特征(特别是悬停文本输出)。这是我的数据:
structure(list(V1 = structure(c(9L, 8L, 4L, 7L, 2L, 6L, 1L, 3L,
5L, 10L, 13L, 11L, 12L), .Label = c("Apple", "Avocado", "Banana",
"Carrot", "Mango", "Mushroom", "Onion", "Orange", "Pineapple",
"Strawberry", "Sweet-lemon", "Watermelon", "Wildberry"), class = "factor"),
V2 = structure(c(4L, 3L, 9L, 11L, 12L, 2L, 1L, 6L, 10L, 5L,
7L, 8L, 1L), .Label = c("23", "24", "36", "42", "43", "46",
"48", "52", "56", "61", "82", "94"), class …Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制几周内的销售趋势。但在 x 轴上,刻度没有按正确的排序顺序,这使我的图表看起来很奇怪。
正如您所看到的,圈出的周需要从起始点或轴开始。即使我对数据框中的日期进行了排序,为什么还会发生这种情况?
熊猫代码:
basic_df = filterDataFrameByDate(df,start_date,end_date)
df = basic_df.groupby(['S2PName',basic_df['S2BillDate'].dt.to_period(flag)], sort=False)['S2PGTotal'].agg([('totSale','sum'),('count','size')]).reset_index()
df.sort_values('S2BillDate',inplace=True)
df['S2BillDate'] = df['S2BillDate'].astype('str')
Run Code Online (Sandbox Code Playgroud)
我还注意到的另一件事是,当我从图例中取消选择“Samosa”时,刻度线会正确排列。
有人可以帮我解决这个问题吗?
熊猫代码和数据:
代码 :
print(df['S2BillDate'].unique())
Run Code Online (Sandbox Code Playgroud)
操作:
<PeriodArray>
['2020-02-03/2020-02-09', '2020-02-10/2020-02-16', '2020-02-17/2020-02-23',
'2020-02-24/2020-03-01']
Length: 4, dtype: period[W-SUN]
Run Code Online (Sandbox Code Playgroud)
代码 :
df = basic_df.groupby(['S2PName',basic_df['S2BillDate'].dt.to_period(flag)], sort=False)['S2PGTotal'].agg([('totSale','sum'),('count','size')]).reset_index()
Run Code Online (Sandbox Code Playgroud)
操作:
[537 rows x 4 columns]
S2PName S2BillDate totSale count
0 SAMOSA 2020-02-10/2020-02-16 4057.89 228
1 COFFEE 2020-02-10/2020-02-16 10567.21 582
2 TEA 2020-02-10/2020-02-16 6808.92 445
3 POORI 2020-02-10/2020-02-16 7556.77 179
4 PONGAL 2020-02-10/2020-02-16 4758.97 122
.. ... ... ... ... …Run Code Online (Sandbox Code Playgroud) def update_graph_bar(named_count,**kwargs):
traces = list()
df = pd.DataFrame(list(Message.objects.all().values()))
available_indicators = list(df['content'].unique())
for t in available_indicators:
traces.append(go.Bar(
x=[t],
y=[df[df['content']==t]['timestamp'].count()],
name='{}'.format(t),text=[df[df['content']==t]['timestamp'].count()],
textposition='auto'
))
layout = plotly.graph_objs.Layout(barmode='group',paper_bgcolor='#00FFFF',
plot_bgcolor='rgba(0,0,0,0)',)
return {'data': traces,
'layout': layout}
Run Code Online (Sandbox Code Playgroud)
我有上面的代码,在这里我想使用“标记”引入颜色编码,这样条形图的颜色应该取决于它的值。随着值的增加,颜色也会改变。
我正在寻找一种在 Plotly 散点图中绘制两条水平线的方法。我的x轴索引不是固定的并且每次都在变化。所以我正在寻找 y = 5 和 y = 18 处水平穿过图表的水平线
我在这里寻找解决方案,但我不确定如何使用 Plotly Express 的布局
我的散点图代码:
import plotly.express as px
df = pd.DataFrame({"x":[0, 1, 2, 3, 4,6,8,10,12,15,18], "y":[0, 1, 4, 9, 16,13,14,18,19,5,12]})
fig = px.scatter(df, x="x", y="y")
fig
Run Code Online (Sandbox Code Playgroud)