Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用宽右页边距的Matplotlib-Python_Python_Layout_Matplotlib_Plot_Margin - Fatal编程技术网

使用宽右页边距的Matplotlib-Python

使用宽右页边距的Matplotlib-Python,python,layout,matplotlib,plot,margin,Python,Layout,Matplotlib,Plot,Margin,我正在绘制一个包含大量信息的数据,我想使用整个绘图区域。然而,即使使用了紧凑的布局,我最终还是得到了一个“宽”的右边距。例如: import matplotlib import matplotlib.pyplot as plt cmap = plt.get_cmap('Set3') colors = [cmap(i) for i in numpy.linspace(0, 1, 18)] data = numpy.random.rand(18, 365) y = range(365) plt

我正在绘制一个包含大量信息的数据,我想使用整个绘图区域。然而,即使使用了
紧凑的布局
,我最终还是得到了一个“宽”的右边距。例如:

import matplotlib
import matplotlib.pyplot as plt

cmap = plt.get_cmap('Set3')
colors = [cmap(i) for i in numpy.linspace(0, 1, 18)]

data = numpy.random.rand(18, 365)

y = range(365)
plt.figure(figsize=(15,7))
for i in range(18):
    plt.plot(y, data[i, :], color=colors[i], linewidth=2)
plt.xticks(numpy.arange(0, 365, 10))
plt.tight_layout()
产生类似于:


我想知道如何去掉这个右边距,这样使用的
xtikcs
就可以扩展。

您可以通过设置
xlim
来剪切的右边距。在设置
xticks
后,在代码中添加
plt.xlim(0364)
。可以根据提供的两个值确定沿x轴绘制的任何截面。使用实际数据时,最好使用
x数组的
min
max
值。在您提供的示例中,这意味着:
plt.xlim(最小值(y)、最大值(y))

您可以通过以下方式完成:

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

cmap = plt.get_cmap('Set3')
colors = [cmap(i) for i in np.linspace(0, 1, 18)]

data = np.random.rand(18, 365)

y = range(365)
fig, ax = plt.subplots(figsize=(15,7))
for i in range(18):
    ax.plot(y, data[i, :], color=colors[i], linewidth=2)
ax.set_xticks(np.arange(0, 365, 10))
ax.set_xlim(ax.xaxis.get_data_interval())
fig.tight_layout()

它有点像蟒蛇。

太完美了!我不知道我怎么会忘了这房子!