小编jde*_*dep的帖子

使用不同大小的 y 轴制作相同的 matplotlib 图

我正在尝试制作一系列 matplotlib 图,为不同类别的对象绘制时间跨度。每个绘图都有一个相同的 x 轴和绘图元素,如标题和图例。但是,每个图中出现的类别不同;每个图代表一个不同的采样单元,每个单元只包含所有可能类别的一个子集。

我在确定如何设置图形和轴尺寸时遇到了很多麻烦。水平尺寸应始终保持不变,但垂直尺寸需要缩放到该采样单元中表示的类数。对于每个绘图,y 轴上每个条目之间的距离应该相等。

似乎我的困难在于我可以用 设置图形的绝对大小(以英寸为单位)plt.figure(figsize=(w,h)),但我只能用相对尺寸设置轴的大小(例如,fig.add_axes([0.3,0.05,0.6,0.85])这会导致我的 x 轴标签变得类数少时切断。

这是我想要得到的东西与我得到的东西的 MSPaint 版本。 所需输出与当前输出

这是我使用的代码的简化版本。希望这足以确定问题/解决方案。

import pandas as pd
import matplotlib.pyplot as plt
import pylab as pl
from matplotlib import collections as mc
from matplotlib.lines import Line2D
import seaborn as sns

# elements for x-axis
start = 1
end = 6
interval = 1 # x-axis tick interval
xticks = [x for x in range(start, end, interval)] # create x ticks

# items needed for legend …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-3.x pandas seaborn

1
推荐指数
1
解决办法
1562
查看次数

标签 统计

matplotlib ×1

pandas ×1

python ×1

python-3.x ×1

seaborn ×1