gpt4 book ai didi

python - 图表仅显示 1 个图表中的数据,而不显示其他图表中的数据

转载 作者:行者123 更新时间:2023-12-01 03:45:01 24 4
gpt4 key购买 nike

我的代码遇到问题。它仅显示一张图的数据,另一张图为空白。我不明白为什么它不起作用。
我正在使用 subplot() 函数,我的猜测是原因可能是我的函数的格式化方式。

import numpy as np
import matplotlib.pyplot as plt
import cvxopt as opt
from cvxopt import blas, solvers
import pandas as pd
import mpld3
from mpld3 import plugins

np.random.seed(123)
solvers.options['show_progress'] = False

n_assets = 4

n_obs = 1000 # original 1000

return_vec = np.random.randn(n_assets, n_obs)

def rand_weights(n):
k = np.random.rand(n)
return k / sum(k) print(rand_weights(n_assets)) print(rand_weights(n_assets))

def random_portfolio(returns):
p = np.asmatrix(np.mean(returns,axis=1))
w = np.asmatrix(rand_weights(returns.shape[0]))
C = np.asmatrix(np.cov(returns))

mu = w * p.T
sigma = np.sqrt(w * C * w.T)

#this recursion reduces outlier to keep the graph nice
if sigma > 2:
return random_portfolio(returns)
return mu, sigma

n_portfolios = 500

means, stds = np.column_stack([random_portfolio(return_vec) for _ in range(n_portfolios)])


plt.plot(return_vec.T, alpha=.4);
plt.xlabel('time')
plt.ylabel('returns')
plt.figure(1)
plt.subplot(212)

plt.plot(stds, means, 'o', markersize = 5)
plt.xlabel('std')
plt.ylabel('mean')
plt.title('Mean and standard deviation of returns of randomly generated portfolios')
plt.subplot(211)
plt.figure(1)

plt.show()

my graph

最佳答案

您需要在第一次调用 plt.plot 之前移动 plt.subplot(211) 行。这是因为对 plt.subplot 的调用必须先于该子图中的实际绘图。

关于python - 图表仅显示 1 个图表中的数据,而不显示其他图表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com