繁体   English   中英

Plotly:如何在没有填充区域的情况下制作等高线图?

[英]Plotly: How do I make a contour plot without the area filled?

我想在 plotly 中制作由下面的代码生成的相同的图。 我更喜欢使用 plotly,但我无法创建正确的数据结构来输入 plotly。

x = np.linspace(0.4,1.6,100)
y = np.linspace(0.4,1.6,100)
X, Y = np.meshgrid(x, y)
pos = np.dstack((X, Y))
C_1_means = np.array([1,1.375])
C_1_cov = np.array([[0.03,0.0167],[0.0167,0.0157]])
C_2_means = np.array([0.7,1.025])
C_2_cov = np.array([[0.008,0],[0,0.009]])
rv = multivariate_normal(C_1_means,C_1_cov)
Z_1 = rv.pdf(pos).tolist()
rv = multivariate_normal(C_2_means,C_2_cov)
Z_2 = rv.pdf(pos).tolist()

import matplotlib.pyplot as plt
plt.contour(X,Y,Z_1)
plt.contour(X,Y,Z_2)
plt.show()

我得到这个图:

在此处输入图片说明

我在下面尝试了以下代码:

fig = go.Figure(data =
go.Contour(
    z=Z_1,
    x=X, # horizontal axis
    y=Y # vertical axis
))
fig.show()
import numpy as np
import scipy.stats as stats
import plotly.graph_objects as go

x = np.linspace(0.4, 1.6, 100)
y = np.linspace(0.4, 1.6, 100)

X, Y = np.meshgrid(x, y)
pos = np.dstack((X, Y))

C_1_means = np.array([1, 1.375])
C_1_cov = np.array([[0.03, 0.0167], [0.0167, 0.0157]])
rv1 = stats.multivariate_normal(C_1_means, C_1_cov)

C_2_means = np.array([0.7, 1.025])
C_2_cov = np.array([[0.008, 0],[0, 0.009]])
rv2 = stats.multivariate_normal(C_2_means,C_2_cov)

Z_1 = rv1.pdf(pos).tolist()
Z_2 = rv2.pdf(pos).tolist()

data = []

data.append(go.Contour(z=Z_1,
                       x=x,
                       y=y,
                       contours_coloring='lines',
                       line_width=2,
                       showscale=False))

data.append(go.Contour(z=Z_2,
                       x=x,
                       y=y,
                       contours_coloring ='lines',
                       line_width=2,
                       showscale=False))

layout = dict(plot_bgcolor='white',
              paper_bgcolor='white',
              xaxis=dict(linecolor='gray', mirror=True),
              yaxis=dict(linecolor='gray', mirror=True))

fig = go.Figure(data=data, layout=layout)

fig.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM