- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚学习 Plotly,我正在努力使我的 python 代码更好。这是我的数据框:
可视化,这是我的代码,但我认为它可以用 For 循环来完成:
fig = go.Figure()
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,0], mode ='lines', name = 'Australian Capital Territory'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,1], mode ='lines', name = 'New South Wales'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,2], mode ='lines', name = 'Northern Territory'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,3], mode ='lines', name = 'Queensland'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,4], mode ='lines', name = 'South Australia'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,5], mode ='lines', name = 'Tasmania'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,6], mode ='lines', name = 'Victoria'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,7], mode ='lines', name = 'Western Australia'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,8], mode ='lines', name = 'New Zealand'))
annotations = []
annotations.append(dict(xref='paper', yref='paper', x=0.0, y=1.05,
xanchor='left', yanchor='bottom',
text="Covid 19 Death Cases between Australian' states vs New Zealand",
font=dict(family='Arial',
size=18,
color='rgb(37,37,37)'),
showarrow=False))
fig.update_layout(legend=dict(y=0.5, traceorder='reversed', font_size=16),
plot_bgcolor='white',
annotations=annotations,
xaxis_title="Date",
yaxis_title="Number of Death"
)
fig.show()
我正在尝试为这部分使用 For 循环:
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,0], mode ='lines', name = 'Australian Capital Territory'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,1], mode ='lines', name = 'New South Wales'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,2], mode ='lines', name = 'Northern Territory'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,3], mode ='lines', name = 'Queensland'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,4], mode ='lines', name = 'South Australia'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,5], mode ='lines', name = 'Tasmania'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,6], mode ='lines', name = 'Victoria'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,7], mode ='lines', name = 'Western Australia'))
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,8], mode ='lines', name = 'New Zealand'))
任何关于如何为此使用 For 循环的想法,将不胜感激。这是来自 Plotly 的示例:
import plotly.graph_objects as go
import numpy as np
title = 'Main Source for News'
labels = ['Television', 'Newspaper', 'Internet', 'Radio']
colors = ['rgb(67,67,67)', 'rgb(115,115,115)', 'rgb(49,130,189)', 'rgb(189,189,189)']
mode_size = [8, 8, 12, 8]
line_size = [2, 2, 4, 2]
x_data = np.vstack((np.arange(2001, 2014),)*4)
y_data = np.array([
[74, 82, 80, 74, 73, 72, 74, 70, 70, 66, 66, 69],
[45, 42, 50, 46, 36, 36, 34, 35, 32, 31, 31, 28],
[13, 14, 20, 24, 20, 24, 24, 40, 35, 41, 43, 50],
[18, 21, 18, 21, 16, 14, 13, 18, 17, 16, 19, 23],
])
fig = go.Figure()
for i in range(0, 4):
fig.add_trace(go.Scatter(x=x_data[i], y=y_data[i], mode='lines',
name=labels[i],
line=dict(color=colors[i], width=line_size[i]),
connectgaps=True,
))
# endpoints
fig.add_trace(go.Scatter(
x=[x_data[i][0], x_data[i][-1]],
y=[y_data[i][0], y_data[i][-1]],
mode='markers',
marker=dict(color=colors[i], size=mode_size[i])
))
fig.update_layout(
xaxis=dict(
showline=True,
showgrid=False,
showticklabels=True,
linecolor='rgb(204, 204, 204)',
linewidth=2,
ticks='outside',
tickfont=dict(
family='Arial',
size=12,
color='rgb(82, 82, 82)',
),
),
yaxis=dict(
showgrid=False,
zeroline=False,
showline=False,
showticklabels=False,
),
autosize=False,
margin=dict(
autoexpand=False,
l=100,
r=20,
t=110,
),
showlegend=False,
plot_bgcolor='white'
)
annotations = []
# Adding labels
for y_trace, label, color in zip(y_data, labels, colors):
# labeling the left_side of the plot
annotations.append(dict(xref='paper', x=0.05, y=y_trace[0],
xanchor='right', yanchor='middle',
text=label + ' {}%'.format(y_trace[0]),
font=dict(family='Arial',
size=16),
showarrow=False))
# labeling the right_side of the plot
annotations.append(dict(xref='paper', x=0.95, y=y_trace[11],
xanchor='left', yanchor='middle',
text='{}%'.format(y_trace[11]),
font=dict(family='Arial',
size=16),
showarrow=False))
# Title
annotations.append(dict(xref='paper', yref='paper', x=0.0, y=1.05,
xanchor='left', yanchor='bottom',
text='Main Source for News',
font=dict(family='Arial',
size=30,
color='rgb(37,37,37)'),
showarrow=False))
# Source
annotations.append(dict(xref='paper', yref='paper', x=0.5, y=-0.1,
xanchor='center', yanchor='top',
text='Source: PewResearch Center & ' +
'Storytelling with data',
font=dict(family='Arial',
size=12,
color='rgb(150,150,150)'),
showarrow=False))
fig.update_layout(annotations=annotations)
fig.show()
最佳答案
这是您要在 for
循环中创建所有跟踪的代码行:
for idx, col in enumerate(anz_d_df.columns, 0):
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,idx], mode ='lines', name = col))
此循环使用 enumerate
该函数采用可迭代(在本例中为列名列表)并返回 (index, string)
的 tuple
。例如:
(0, 'Australian Capital Territory')
(1, 'New South Wales')
...
(8, 'New Zealand')
然后,这些值被传递到每个 add_trace()
调用中。
下面是用于创建数据集以复制您的数据集的代码(尽管是零 DataFrame),以及用于创建跟踪的循环。
# Build dataset
cols = ['Australian Capital Territory',
'New South Wales',
'Northern Territory',
'Queensland',
'South Australia',
'Tasmania',
'Victoria',
'Western Australia',
'New Zealand']
index = pd.date_range(start='2020-01-22', periods=10)
# Create working DataFrame.
anz_d_df = pd.DataFrame(0,columns=cols, index=index)
# Add all traces.
for idx, col in enumerate(anz_d_df.columns, 0):
fig.add_trace(go.Scatter(x = anz_d_df.index , y = anz_d_df.iloc[:,idx], mode ='lines', name = col))
希望这对您有所帮助!
关于python - Plotly:使用循环添加轨迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60926439/
我有一系列 gps 值,每个值包含:timestamp, latitude, longitude, n_sats, gps_speed, gps_direction, ... ( NMEA data
我正在尝试绘制两点之间的轨迹路径。我只知道有问题的两点和它们之间的距离。我希望能够计算的是到达终点所需的速度和角度。 我还希望能够将一些重力和风因素考虑在内,这样路径/轨迹就不那么“完美”了。它用于电
有没有人对使用顶点缓冲区/4f 颜色缓冲区绘制粒子在 opengl 中对来自喷气发动机(带有加力燃烧室)的粒子流进行编码的近似值有任何指导? 我认为这个问题有两个方面: 作为温度和与燃烧的气体类型相关
问题 我正在迁移多个 ggplot/ggvis plotly 到 plotly在 shiny应用。我遇到了一个关于跟踪链接的问题。我希望能够通过 group 显示/隐藏痕迹在图例上,在相关数据框之间共
我想为玩具车在没有障碍物的平面 (2d) 上规划一条路线。玩具车应该从点 (p1x,p1y) 移动到 (p2x,p2y)(又名狄利克雷边界条件)。此外,玩具车在起点的速度是(v1x,v1y),终点处要
我正在开发一个路径/ map 应用程序,该应用程序在一个区域中绘制了自定义路径,并将帮助用户在“森林”区域的一些路径周围导航。 目前,我正在使用 MKMapView 来获取用户数据/位置,并从 KML
我目前正在尝试根据从 iPhone 视频中拍摄的一系列图像重建坠落物体(例如球或石头)的 3D 轨迹。 我应该从哪里开始寻找?我知道我必须校准相机(我想我会使用 Jean-Yves Bouguet 的
我正在尝试使用 matplotlib 在 map 上绘制 CSV 文件中的线条和标记。 数据: AL99,2017080912,SHIP,0,17.1,-55.6,25,0 AL99,20170809
我正在尝试仅使用广播源来重建篮球的 3D 轨迹。 为此,我必须计算单应矩阵,因此在每一帧中,我都成功地跟踪了球,以及它们在“现实世界”中的位置已知的 6 个点(4 个在球场上,2 个在篮板上)为在图片
如果我有一个像这样的动画圈 example , 有没有一种方法可以在 Canvas 上留下 1px 纯白色的永久痕迹? 我试过动态构建路径,但无法让它工作。 提前致谢,如有任何帮助,我们将不胜感激 最
正在工作,即将发布,没有真正的更新,[6.3.2] 突然出现此错误。 花了一天时间在 OAuthSwift V0.3.4、0.3.5、0.3.6 之间切换,同样的错误发生了。还有一次(但非常罕见),我
我正在尝试使用 matlab/octave 为这个螺旋制作动画我希望它向上或向下螺旋 t = 0:0.1:10*pi; r = linspace (0, 1, numel (t)); z = lins
我有一个有点难的算法问题,我从很多搜索中找不到任何合适的算法,所以我希望 stackoverflow 上的人可能知道答案。 我有一组车辆在 2D 空间中移动时的 x,y 坐标,坐标记录在时间段内的“决
在服务器(MySQL 或 Oracle 或任何文件)上存储 GPS 坐标(航迹)的最佳方式是什么?例如,GoogleMaps 是如何实现的?我想保存和比较相同部分的轨道。 附言我有所有必要的数据。 最
The link to download the GPS traces on OSM is quite easy to get. 但是,里面的每个文件都 super 大。而且也没有地理位置分类。所以我
这个问题与地理空间信息系统的知识有些重叠,但我认为它属于这里而不是 GIS.StackExchange 有很多应用程序处理具有非常相似对象的 GPS 数据,其中大多数由 GPX standard 定义
我正在使用此处找到的 locu-node node.js 库:https://github.com/Locu-Unofficial/locu-node ,这是 Locu 服务的 API 客户端。在提供
我正在尝试将一个元素从位置 A 动画到位置 B,但我不希望它在每个点之间线性移动,我希望有一种“抛物线”轨迹。 我可以使用 jQuery.animate() 吗? 或者我应该使用 setInterva
总结:如何避免不同线程的不同工作负载导致的性能损失? (内核在每个线程上都有一个 while 循环) 问题:我想在许多不同的初始条件下使用 Runge-Kutta 求解粒子轨迹(由二阶微分方程描述)。
我正在创建一个应用程序,其中包含一些变量的区域数据。该应用程序允许您通过 selectInput 选择用户想要可视化的区域。出于比较/信息目的,我希望用户在 plot_ly 中可视化所选区域以及全国平
我是一名优秀的程序员,十分优秀!