簡體   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