首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成多个数字的matplotlib,1空白,1错,事后错误?

生成多个数字的matplotlib,1空白,1错,事后错误?
EN

Stack Overflow用户
提问于 2014-09-26 17:23:09
回答 1查看 456关注 0票数 0

我正在生成五个数字,四个直线图和一个散点图。

如果我单独生成它们,它们都很好。如果将它们生成在一起,我将得到第一个空白图,图2-4为“可操作”->“组件”,并正确绘制。然而,图5有“标签”线条图,其中包含来自“时间”散点图的标题和标签,而且没有实际的散点图。

我从那时起做了什么?

代码语言:javascript
复制
fn = 0
pltkw = {
    'actionable': {},
    'causes': {},
    'components': {},
    'labels': {},
}

for figure in ['actionable', 'causes', 'components', 'labels']:
    fn += 1
    fig[figure] = plt.figure(fn, figsize=(18,10))
    frm[figure] = pd.DataFrame(data[figure], index=date_range)
    axs[figure] = frm[figure].plot(**pltkw[figure])
    txs[figure] = plt.title(figure)
    yls[figure] = plt.ylabel('events')

fn += 1
figure = 'times'
fig[figure] = plt.figure(fn, figsize=(18,10))
frm[figure] = pd.DataFrame(data[figure])
axs[figure] = plt.scatter(frm[figure]['hour'], frm[figure]['day'])
txs[figure] = plt.title(figure)
xls[figure] = plt.xlabel('hour 0-23')
yls[figure] = plt.ylabel('mon,tue,wed,thu,fri,sat,sun')

plt.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-26 18:41:39

代码语言:javascript
复制
fn = 0
pltkw = {
    'actionable': {},
    'causes': {},
    'components': {},
    'labels': {},
}

for figure in ['actionable', 'causes', 'components', 'labels']:
    # get an axes and figure 
    fig_, ax = plt.subplots(1, 1, figsize=(18, 10)) 
    # I assume you don't _really_ care about the figure numeber, but are using this
    # to get around the global state

    fig[figure] = fig_ 
    axs[figure] = ax
    frm[figure] = pd.DataFrame(data[figure], index=date_range)
    frm[figure].plot(ax=ax, **pltkw[figure])
    # pandas really should return the artists added, but oh well
    txs[figure] = ax.set_title(figure)
    yls[figure] = ax.set_ylabel('events')


figure = 'times'
fig_, ax = plt.subplots(1, 1, figsize=(18, 10))
frm[figure] = pd.DataFrame(data[figure])
axs[figure] = ax
ax.scatter(frm[figure]['hour'], frm[figure]['day'])
txs[figure] = ax.set_title(figure)
xls[figure] = plt.set_xlabel('hour 0-23')
# not sure this is really doing what you want, but ok
yls[figure] = plt.set_ylabel('mon,tue,wed,thu,fri,sat,sun')

plt.show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26065036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档