python - 如何在 Jupyter Notebook 中的绘图旁边显示数据框

标签 python python-2.7 pandas matplotlib jupyter-notebook

我了解如何在 Jupyter Notebook 中(水平)显示两个并排的绘图,但我不知道是否有办法显示旁边带有数据框的绘图。我想它可能看起来像这样:

enter image description here

但是,我无法做到这一点,每当我打印出数据框时,它就会出现在我的绘图下方...

Here是一个类似的问题,但我也在同一单元格中输出我想要垂直方向的图。

我目前有这个:

# line plots
df_plot[['DGO %chg','DLM %chg']].plot(figsize=(15,5),grid=True)
plt.ylim((-ylim,ylim))

df_plot[['Diff']].plot(kind='area',color='lightgrey',figsize=(15,1))
plt.xticks([])
plt.xlabel('')
plt.ylim((0,ylim_diff))
plt.show()

# scatter plots
plt.scatter(x=df_scat[:-7]['DGO'],y=df_scat[:-7]['DLM'])
plt.scatter(x=df_scat[-7:]['DGO'],y=df_scat[-7:]['DLM'],color='red')
plt.title('%s Cluster Last 7 Days'%asset)
plt.show()

# display dataframe
# display(df_scat[['DGO','DLM']][:10]) <-- prints underneath, not working

enter image description here

红色框显示我希望我的数据框出现的位置。有人对如何执行此操作有任何想法吗?

谢谢你的想法!

最佳答案

我不知道如何控制 DataFrame 直接显示的位置 - 但我过去使用的一种解决方法是将 DataFrame 呈现为 matplotlib 表,然后它的行为应该与任何其他 matplotlib 一样阴谋。您可以使用:

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

df = pd.DataFrame()
df['x'] = np.arange(0,11)
df['y'] = df['x']*2

fig = plt.figure(figsize=(8,5))

ax1 = fig.add_subplot(121)
ax1.scatter(x=df['x'],y=df['y'])

ax2 = fig.add_subplot(122)
font_size=14
bbox=[0, 0, 1, 1]
ax2.axis('off')
mpl_table = ax2.table(cellText = df.values, rowLabels = df.index, bbox=bbox, colLabels=df.columns)
mpl_table.auto_set_font_size(False)
mpl_table.set_fontsize(font_size)

enter image description here

关于python - 如何在 Jupyter Notebook 中的绘图旁边显示数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286696/

相关文章:

Python Mechanize 连接失败问题

Snow Leopard 上的 Python,如何打开 >255 个套接字?

python - 使用完整的 url 找不到 Django 页面

python - 这个主要功能真的有效吗?

python - 尝试 numba 的巨大错误

python - 将 pandas 列表数据框转换为 numpy 数组

python - 如何基于pandas中的多个键进行映射而不合并

python - 事件处理 : Matplotlib's Figure() and pyplot's figure()

python - 如何将字符串标签转换为数值

python - Pandas map 数据框列