相关疑难解决方法(0)

1726
推荐指数
22
解决办法
224万
查看次数

如何在matplotlib中移动tick的标签?

我想沿着x轴水平移动一些刻度标签,而不移动相应的刻度.

更具体地说,当旋转标签时plt.setp,标签文本的中心保持与刻度线对齐.我想将这些标签向右移动,以便标签的近端对齐,如下图所示.

在此输入图像描述

我知道这篇文章和这一个,但答案很有意思组装机,而不是严格的问题的答案.

我的代码:

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

# my fake data
dates = np.array([datetime.datetime(2000,1,1) + datetime.timedelta(days=i) for i in range(365*5)])
data = np.sin(np.arange(365*5)/365.0*2*np.pi - 0.25*np.pi) + np.random.rand(365*5) /3

# creates fig with 2 subplots
fig = plt.figure(figsize=(10.0, 6.0))
ax = plt.subplot2grid((2,1), (0, 0))
ax2 = plt.subplot2grid((2,1), (1, 0))
## plot dates
ax2.plot_date( dates, data )

# rotates labels 
plt.setp( ax2.xaxis.get_majorticklabels(), rotation=-45 ) 

# try to shift labels …
Run Code Online (Sandbox Code Playgroud)

python label matplotlib

32
推荐指数
4
解决办法
3万
查看次数

在Jupyter笔记本中缩放Matplotlib Plots的绘图大小

是否有可能在jupyter笔记本中缩放matplotlib图的绘图大小?您可以通过更改默认值来增加绘图大小figure.figsize,但这不会影响fontsize,linewidth,markersize等参数.我需要的是一个绘图,其中所有参数都相应缩放.

PS:要在我使用的jupyter笔记本中显示情节%matplotlib inline,请参见下面的截图.

图片

编辑

为了完整起见,这里有一个完全符合我需要的代码片段:

def scale_plot_size(factor=1.5):
    import matplotlib as mpl
    default_dpi = mpl.rcParamsDefault['figure.dpi']
    mpl.rcParams['figure.dpi'] = default_dpi*factor
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter-notebook

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

Matplotlib 不全屏保存图像

[编辑] 正如答案中的评论所建议的,该问题可能与操作系统有关。我在 Windows 10 上。我有 python 3.7.1,我使用 Anaconda/Spyder。

我按照这个和这个主题尝试在保存之前最大化由绘图生成的图像。在我的代码中,有效的是来自 spyder figure viewer 的图确实最大化了。但是当文件保存到图像中时,图像并没有最大化。

我该如何解决?

我的代码如下:

import matplotlib as mpl
mpl.use('TkAgg') # With this line on: it returns me error. Without: image don't save as it has been shown in plot from spyder.
from datetime import datetime
import constants
import numpy as np
from numpy import *
from shutil import copyfile
from matplotlib.pyplot import *
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
import matplotlib.pyplot as plt …
Run Code Online (Sandbox Code Playgroud)

python image matplotlib

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

在 Python matplotlib 中保留尺寸的同时提高图形的分辨率

我使用以下方法创建了一个图形:

import matplotlib.pyplot as plt
%matplotlib inline
fig1 = plt.figure(figsize=(2, 2), dpi=100)
Run Code Online (Sandbox Code Playgroud)

我想提高图形的分辨率,所以我将dpifig1从100增加到200。但是,这将像素尺寸从(200, 200)更改为(400, 400),这是我不想要的。如果我让 dpi=200 和 figsize=(1, 1),像素尺寸仍然是 (200, 200),但图像看起来很有趣。请在此处查看我的 Jupyter 笔记本的输出。

Matplotlib 中有没有办法在 Jupyter 中渲染时增加fig1的分辨率而不改变其像素尺寸?

(注意:我用来生成上面链接的数字的代码来自这个问题。)

python matplotlib jupyter-notebook

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

plt.savefig 输出图像质量

我正在尝试使用 plt.savefig 将绘图保存到文件中,但是我对输出的图片质量不满意。更改 dpi 选项无济于事。

plt.savefig('filename.png', dpi=1200, format='png', bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)

我尝试保存到 'svg' 和 'eps' - 没有区别。我想知道问题是否出在其他方面,比如某个库或操作系统的版本或类似的东西。看起来问题也不在于分辨率,而在于绘制线条和符号的方式 - 太粗了。

plt.show()显示出明显更好的图片,我可以将它以令人满意的质量保存为 png - 令人惊讶的是文件大小大约小 8 倍(因为压缩,我想,这很好。)

使用savefig()保存的部分图片 在此处输入图片说明

从plot.show()保存的图片的同一部分 在此处输入图片说明

python matplotlib python-3.x

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