可信区间三维图

Confidence Interval 3 dimensional plot(可信区间三维图)
本文介绍了可信区间三维图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个三维绘图,我可以用下面写的代码绘制它。 考虑到我的点分布由一个100x100矩阵表示,可以在我的数据上绘制一个可信区间吗?在下面的代码中,我的数据称为";Result";,而我想要显示的上界和下界分别称为";Up_Bound&Quot;和";Low_Bound&Quot;。

例如,我问是否存在类似这样的东西,但是是三维的(而不是像下图那样的二维)

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter

interval = np.random.normal(0, 1, size=(100, 100))

x = np.arange(0.1,1.1,0.01)
y = np.linspace(-np.pi,np.pi,100)

X,Y = np.meshgrid(x,y)
result = []
for i,j in zip(X,Y):
    result.append(np.log(i)+np.sin(j))

upper_bound = np.array(result)+interval
lower_bound = np.array(result)-interval

fig = plt.figure()
fig.set_figwidth(20)
fig.set_figheight(6)
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X, Y, np.array(result))
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()

推荐答案

使用绘图图形对象查看此3D曲面绘图:

import plotly.graph_objects as go
import numpy as np

x = np.arange(0.1,1.1,0.01)
y = np.linspace(-np.pi,np.pi,100)

X,Y = np.meshgrid(x,y)
result = []
for i,j in zip(X,Y):
    result.append(np.log(i)+np.sin(j))

upper_bound = np.array(result)+1
lower_bound = np.array(result)-1

fig = go.Figure(data=[
    go.Surface(z=result),
    go.Surface(z=upper_bound, showscale=False, opacity=0.3,colorscale='purp'),
    go.Surface(z=lower_bound, showscale=False, opacity=0.3,colorscale='purp'),

])
fig.show()

这将绘制3个曲面,一个用于您的结果和2个边界。但是,如果您想要看起来更像填充体积的东西,您必须添加具有缩放不透明度的体积图。

这篇关于可信区间三维图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)