【发布时间】:2019-06-05 08:27:52
【问题描述】:
我想使用 Plotly 在 Python3 中生成交互式散点图。 Plotly 要求数据的输入采用特定格式。我希望能够自动生成格式,因为我有很多数据。
Plotly 需要以下格式的散点图数据
fig = {
'data': [
{
'x': sim_corr.AAK1,
'y': sim_pas.AAK1,
'text': sim_corr.index,
'mode': 'markers',
'name': 'AAK1'},
{
'x': sim_corr.ABL1,
'y': sim_pas.ABL1,
'text': sim_corr.index,
'mode': 'markers',
'name': 'ABL1'},
{
'x': sim_corr.ABL2,
'y': sim_pas.ABL2,
'text': sim_corr.index,
'mode': 'markers',
'name': 'ABL2'}
],
'layout': {
'title':'Correlation VS PAS',
'hovermode':'closest',
'xaxis': {'title': 'Correlations'},
'yaxis': {'title': "PAS"}
}
}
其中 sim_corr 和 sim_pas 是两个 pandas 数据帧,AAK1 是两个数据帧中的列名。上面只有 207 列中的 3 列。我通过手动输入每一列来生成绘图,但我确信有更有效的方法。我真的不知道这将如何完成。
这是在较小规模上生成类似数据帧的代码,
import pandas as pd
df1 = pd.DataFrame(data = [[1,2,3,4], [4,5,6,7], [7,8,9,10], [10,11,12,13]], index = ["a", 'b', 'c', 'd'], columns = ['col1', 'col2', 'col3', 'col4'])
df2 = pd.DataFrame(data = [[4,2,5,4], [1,5,3,7], [2,8,5,10], [3,11,7,13]], index = ["a", 'b', 'c', 'd'], columns = ['col1', 'col2', 'col3', 'col4'])
预期的结果是自动为两个共享相同列名的数据框中的所有列生成所需结构的数据输入。
【问题讨论】:
标签: python-3.x plotly