python – 我可以对这些子图中的重叠标签做些什么?
发布时间:2020-12-16 21:40:35 所属栏目:Python 来源:网络整理
导读:下面是我用matplotlib创建的图.问题非常明显 – 标签重叠,整个事情是一个难以理解的混乱. 我尝试为每个子图调用tight_layout,但这会导致我的ipython-notebook内核崩溃. 我该怎么做才能修复布局?可接受的方法包括修复每个子图的xlabel,ylabel和title,但另一
下面是我用matplotlib创建的图.问题非常明显 – 标签重叠,整个事情是一个难以理解的混乱.
我尝试为每个子图调用tight_layout,但这会导致我的ipython-notebook内核崩溃. 我该怎么做才能修复布局?可接受的方法包括修复每个子图的xlabel,ylabel和title,但另一种(也许更好的)方法是为整个图形提供单个xlabel,ylabel和title. 这是我用来生成上述子图的循环: for i,sub in enumerate(datalist): subnum = i + start_with subplot(3,4,i) # format data (sub is a PANDAS dataframe) xdat = sub['x'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())] ydat = sub['y'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())] # plot hist2d(xdat,ydat,bins=1000) plot(0,'ro') # origin title('Subject {0} in-Trial Gaze'.format(subnum)) xlabel('Horizontal Offset (degrees visual angle)') ylabel('Vertical Offset (degrees visual angle)') xlim([-.005,.005]) ylim([-.005,.005]) # tight_layout # crashes ipython-notebook kernel show() 更新: 好的,所以ImageGrid似乎是要走的路,但我的身材仍然看起来有点不稳定: 这是我使用的代码: fig = figure(dpi=300) grid = ImageGrid(fig,111,nrows_ncols=(3,4),axes_pad=0.1) for gridax,(i,sub) in zip(grid,enumerate(eyelink_data)): subnum = i + start_with # format data xdat = sub['x'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())] ydat = sub['y'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())] # plot gridax.hist2d(xdat,'ro') # origin title('Subject {0} in-Trial Gaze'.format(subnum)) xlabel('Horizontal Offsetn(degrees visual angle)') ylabel('Vertical Offsetn(degrees visual angle)') xlim([-.005,.005]) show() 解决方法
你想要ImageGrid(
tutorial).
第一个例子直接从该链接解除(并轻微修改): import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1 import ImageGrid import numpy as np im = np.arange(100) im.shape = 10,10 fig = plt.figure(1,(4.,4.)) grid = ImageGrid(fig,# similar to subplot(111) nrows_ncols = (2,2),# creates 2x2 grid of axes axes_pad=0.1,# pad between axes in inch. aspect=False,# do not force aspect='equal' ) for i in range(4): grid[i].imshow(im) # The AxesGrid object work as a list of axes. plt.show() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在python中使用myplotlib和pandas绘制CSV数据
- python – 从Blackberry App World(API)获取应用程序特定数
- Python全局变量用法实例分析
- python – TypeError:’int’对象不可迭代.为什么我会收到
- python – 有没有办法让argparse.ArgumentParser.parse_arg
- 10 行代码实现短信发送!把频率调快点不就成了轰炸机了?超
- python – 如何激活每个项目并解析其信息?
- python – 不平衡数据和加权交叉熵
- python – 将netcdf转换为图像
- OA信用盘盘口制作详解 Python 代码优化技巧