将 px.scatterplot 添加到 px.imshow?
Add px.scatterplot to px.imshow?
我在尝试做的事情上遇到了很多问题。这个想法是在 python 中用 绘图 ! 复制一个常见的 excel 热图(他们就是这样称呼它的)。热图应如下所示:
到目前为止我得到的(感谢这个论坛提供的答案)是:
import plotly.express as px
data = [[1, 1, 2, 2, 3], [1, 2, 3, 3, 4], [2, 3, 3, 4, 5], [2, 3, 4, 5, 5], [3, 4, 5, 5, 5]]
fig = px.imshow(data, color_continuous_scale=["darkgreen", "lightgreen", "yellow", "orange", "red"])
fig.update_yaxes(autorange=True)
fig.update_layout(
xaxis=dict(
tickmode='linear',
tick0=1,
dtick=1
),
autosize=False,
width=500
)
# fig.layout['coloraxis']['colorbar']['x'] = 1.0
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[1, 2, 3, 4, 5],
ticktext=[1, 2, 3, 4, 5],
x=1.0
))
fig.show()
这给了我们下图:
现在我有 样本 的散点图看起来像
import plotly.express as px
fig = px.scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1])
fig.update_xaxes(
range=[0, 5])
fig.update_yaxes(
range=[0, 5])
fig.show()
所以唯一剩下的就是从 plotly.express 库中添加散点图的踪迹。但似乎 imshow 和散点图不兼容。所以我不知道该怎么做。
非常感谢任何帮助!
非常感谢!
我相信你的热图有点偏离,但是使用 plotly 中的 graph_objects
库并使用 go.Scatter
创建子图,我能够将散点添加到你的代码中为热图提供:
import plotly.graph_objects as go
fig.add_trace(go.Scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1], mode='markers', marker=dict(color=['black'])))
添加它会产生如下所示的输出:
完整代码如下所示:
import plotly.express as px
import plotly.graph_objects as go
data = [[1, 1, 2, 2, 3], [1, 2, 3, 3, 4], [2, 3, 3, 4, 5], [2, 3, 4, 5, 5], [3, 4, 5, 5, 5]]
fig = px.imshow(data, color_continuous_scale=["darkgreen", "lightgreen", "yellow", "orange", "red"])
fig.update_yaxes(autorange=True)
fig.update_layout(
xaxis=dict(
tickmode='linear',
tick0=1,
dtick=1
),
autosize=False,
width=500
)
# fig.layout['coloraxis']['colorbar']['x'] = 1.0
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[1, 2, 3, 4, 5],
ticktext=[1, 2, 3, 4, 5],
x=1.0
))
import plotly.graph_objects as go
fig.add_trace(go.Scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1], mode='markers', marker=dict(color=['black'])))
fig.show()
我在尝试做的事情上遇到了很多问题。这个想法是在 python 中用 绘图 ! 复制一个常见的 excel 热图(他们就是这样称呼它的)。热图应如下所示:
到目前为止我得到的(感谢这个论坛提供的答案)是:
import plotly.express as px
data = [[1, 1, 2, 2, 3], [1, 2, 3, 3, 4], [2, 3, 3, 4, 5], [2, 3, 4, 5, 5], [3, 4, 5, 5, 5]]
fig = px.imshow(data, color_continuous_scale=["darkgreen", "lightgreen", "yellow", "orange", "red"])
fig.update_yaxes(autorange=True)
fig.update_layout(
xaxis=dict(
tickmode='linear',
tick0=1,
dtick=1
),
autosize=False,
width=500
)
# fig.layout['coloraxis']['colorbar']['x'] = 1.0
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[1, 2, 3, 4, 5],
ticktext=[1, 2, 3, 4, 5],
x=1.0
))
fig.show()
这给了我们下图:
现在我有 样本 的散点图看起来像
import plotly.express as px
fig = px.scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1])
fig.update_xaxes(
range=[0, 5])
fig.update_yaxes(
range=[0, 5])
fig.show()
非常感谢任何帮助!
非常感谢!
我相信你的热图有点偏离,但是使用 plotly 中的 graph_objects
库并使用 go.Scatter
创建子图,我能够将散点添加到你的代码中为热图提供:
import plotly.graph_objects as go
fig.add_trace(go.Scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1], mode='markers', marker=dict(color=['black'])))
添加它会产生如下所示的输出:
完整代码如下所示:
import plotly.express as px
import plotly.graph_objects as go
data = [[1, 1, 2, 2, 3], [1, 2, 3, 3, 4], [2, 3, 3, 4, 5], [2, 3, 4, 5, 5], [3, 4, 5, 5, 5]]
fig = px.imshow(data, color_continuous_scale=["darkgreen", "lightgreen", "yellow", "orange", "red"])
fig.update_yaxes(autorange=True)
fig.update_layout(
xaxis=dict(
tickmode='linear',
tick0=1,
dtick=1
),
autosize=False,
width=500
)
# fig.layout['coloraxis']['colorbar']['x'] = 1.0
fig.update_layout(coloraxis_colorbar=dict(
tickvals=[1, 2, 3, 4, 5],
ticktext=[1, 2, 3, 4, 5],
x=1.0
))
import plotly.graph_objects as go
fig.add_trace(go.Scatter(x=[3.8,4.4,4.1,3.7,4.2],y=[4.9,3.9,2.5,3.6,2.1], mode='markers', marker=dict(color=['black'])))
fig.show()