Interactive 그래프 형식
13787 단어 Jupyter-notebook
목적
내용
실제로 사용할 때는 parameter와 result 부분을 실제 데이터로 바꾸면 된다.
Jupyter-notebook에서 실행 할 수 있습니다 (lab에서는 작동하지 않았습니다)
설정
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from ipywidgets import interact
import seaborn as sns
%matplotlib inline
plt.style.use('bmh')
parameter preparation
#data numbers
n = 10000
#parameter setting
x1 = np.random.randn(n) + 120.0
x2 = 1.3 * np.random.randn(n) + 110.0
x3 = 1.8 * np.random.randn(n) + 100.0
x4 = 0.5 * np.random.randn(n) + 90.0
x5 = 0.2 * np.random.randn(n) + 8.0
x6 = 0.3 * np.random.randn(n) + 70.0
temp_dict = dict(x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6)
df = pd.DataFrame(temp_dict)
import cufflinks as cf
cf.go_offline()
df.iplot()
result preparation
result_data = (10 * (x1 - 120) + 0.5 * (x2 - 110) ** 3 - np.exp((x3 - 102)) - 10 * (x4 - 90) + 15 *(x5 - 8.0) + -1 * (x6 - 70.0)) / 30 + 100
sr_res = pd.Series(result_data, name='res')
df_res = df.join(sr_res, how='right')
df_res.plot(kind='hexbin', x='x1', y='x2', C='res')
plot
pg = sns.pairplot(df_res)
interactive plot
para_list = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6']
import plotly
plotly.offline.init_notebook_mode(connected=False)
@interact(para1=para_list, para2=para_list)
def plot_data(para1, para2):
fig2, ax = plt.subplots(1,2, figsize=(10,5))
ax[0].scatter(x=df_res.loc[:, para1], y=df_res.loc[:, 'res'], s=0.3)
ax[0].set_xlabel(para1)
ax[0].set_ylabel('Result')
ax[0].set_title('Parameter Dependency')
df_res.plot(kind='scatter', x=para1, y=para2, c='res', ax=ax[1], cmap='inferno')
ax[1].set_xlabel(para1)
ax[1].set_ylabel(para2)
ax[1].set_title('Two Parameter Correlation')
plt.tight_layout(w_pad=5)
plotly.offline.iplot_mpl(fig2)
Reference
이 문제에 관하여(Interactive 그래프 형식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tagtagtag/items/18a1834d730acd7626a8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from ipywidgets import interact
import seaborn as sns
%matplotlib inline
plt.style.use('bmh')
#data numbers
n = 10000
#parameter setting
x1 = np.random.randn(n) + 120.0
x2 = 1.3 * np.random.randn(n) + 110.0
x3 = 1.8 * np.random.randn(n) + 100.0
x4 = 0.5 * np.random.randn(n) + 90.0
x5 = 0.2 * np.random.randn(n) + 8.0
x6 = 0.3 * np.random.randn(n) + 70.0
temp_dict = dict(x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6)
df = pd.DataFrame(temp_dict)
import cufflinks as cf
cf.go_offline()
df.iplot()
result_data = (10 * (x1 - 120) + 0.5 * (x2 - 110) ** 3 - np.exp((x3 - 102)) - 10 * (x4 - 90) + 15 *(x5 - 8.0) + -1 * (x6 - 70.0)) / 30 + 100
sr_res = pd.Series(result_data, name='res')
df_res = df.join(sr_res, how='right')
df_res.plot(kind='hexbin', x='x1', y='x2', C='res')
pg = sns.pairplot(df_res)
para_list = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6']
import plotly
plotly.offline.init_notebook_mode(connected=False)
@interact(para1=para_list, para2=para_list)
def plot_data(para1, para2):
fig2, ax = plt.subplots(1,2, figsize=(10,5))
ax[0].scatter(x=df_res.loc[:, para1], y=df_res.loc[:, 'res'], s=0.3)
ax[0].set_xlabel(para1)
ax[0].set_ylabel('Result')
ax[0].set_title('Parameter Dependency')
df_res.plot(kind='scatter', x=para1, y=para2, c='res', ax=ax[1], cmap='inferno')
ax[1].set_xlabel(para1)
ax[1].set_ylabel(para2)
ax[1].set_title('Two Parameter Correlation')
plt.tight_layout(w_pad=5)
plotly.offline.iplot_mpl(fig2)
Reference
이 문제에 관하여(Interactive 그래프 형식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tagtagtag/items/18a1834d730acd7626a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)