Questions tagged «matplotlib»

Matplotlib是Python的绘图库,可以交互使用或嵌入独立的GUI中。其紧凑的“ pyplot”界面类似于MATLAB®的绘图功能。

4
如何在Python matplotlib中使x轴和y轴的比例相等?
我希望在方形图上画线。 天秤x-axis和y-axis应该是相同的。 例如x的范围是0到10,在屏幕上是10厘米。y也必须在0到10的范围内,并且也必须是10 cm。 即使我迷失了窗口大小,也必须保持正方形。 目前,我的图形与窗口大小一起缩放。 我该如何实现? 更新: 我尝试了以下操作,但没有成功。 plt.xlim(-3, 3) plt.ylim(-3, 3) plt.axis('equal')
128 python  matplotlib 

4
Matplotlib-全局图例和标题子图
我已经开始使用matplot并管理了一些基本图,但是现在发现很难发现如何做我现在需要的东西了:( 我的实际问题是如何在带有子图的图形上放置全局标题和全局图例。 我正在做2x3子图,其中有很多不同颜色的图形(大约200张)。为了区分(大多数),我写了类似 def style(i, total): return dict(color=jet(i/total), linestyle=["-", "--", "-.", ":"][i%4], marker=["+", "*", "1", "2", "3", "4", "s"][i%7]) fig=plt.figure() p0=fig.add_subplot(321) for i, y in enumerate(data): p0.plot(x, trans0(y), "-", label=i, **style(i, total)) # and more subplots with other transN functions (对此有何想法?:))每个子图具有相同的样式功能。 现在,我正在尝试为所有子图取一个全局标题,并为一个解释所有样式的全局图例。另外,我还需要使字体变小以适合那里的所有200种样式(我不需要完全独特的样式,但至少需要尝试一下) 有人可以帮我解决这个任务吗?

7
如何在IPython Notebook中打开交互式matplotlib窗口?
我正在使用IPython,--pylab=inline有时想快速切换到交互式可缩放的matplotlib GUI来查看图(在终端Python控制台中绘制图时会弹出的图)。我该怎么办?最好不要离开或重新启动笔记本。 IPy笔记本中的内联绘图的问题在于它们的分辨率有限,我无法放大以查看一些较小的部分。使用从终端启动的maptlotlib GUI,我可以选择要放大的图形矩形,并相应地调整轴。我尝试过 from matplotlib import interactive interactive(True) 和 interactive(False) 但这什么也没做。我在网上也找不到任何提示。

3
Seaborn Barplot上的标签轴
我正在尝试通过以下代码将自己的标签用于Seaborn barplot: import pandas as pd import seaborn as sns fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]}) fig = sns.barplot(x = 'val', y = 'cat', data = fake, color = 'black') fig.set_axis_labels('Colors', 'Values') 但是,我得到一个错误: AttributeError: 'AxesSubplot' object has no attribute 'set_axis_labels' 是什么赋予了?

13
“用户警告:Matplotlib当前正在使用agg,它是非GUI后端,因此无法显示该图。” 在Pycharm上用pyplot绘制图时
我正在尝试使用pyplot绘制一个简单的图形,例如: import matplotlib.pyplot as plt plt.plot([1,2,3],[5,7,4]) plt.show() 但该图未出现,并且我收到以下消息: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. 我在几个地方看到必须使用以下命令更改matplotlib的配置: import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt 我这样做了,但是却收到一条错误消息,因为它找不到模块: ModuleNotFoundError: No module named 'tkinter' 然后,我尝试使用安装“ tkinter” pip install tkinter(在虚拟环境中),但找不到它: Collecting tkinter Could not find a version …

4
Matplotlib:在其他图形元素后面绘制网格线
在Matplotlib中,我按如下所示制作虚线网格: fig = pylab.figure() ax = fig.add_subplot(1,1,1) ax.yaxis.grid(color='gray', linestyle='dashed') 但是,我不知道如何(甚至可能)在其他图形元素(如条形图)后面绘制网格线。更改添加网格的顺序与添加其他元素的顺序没有区别。 是否有可能使网格线出现在其他所有内容的后面?
123 python  matplotlib  grid 

3
matplotlib中的垂直和水平线
我不太明白为什么我无法在指定的限制下创建水平和垂直线。我想通过此框绑定数据。但是,双方似乎都不符合我的指示。为什么是这样? # CREATING A BOUNDING BOX # BOTTOM HORIZONTAL plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k') # RIGHT VERTICAL plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k') # LEFT VERTICAL plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k') plt.show()
122 matplotlib 

2
如何在Python中创建具有不同线型的主要和次要网格线
我目前正在使用matplotlib.pyplot图形来创建图形,并且希望使主要的网格线为实线和黑色,而次要的网格线为灰色或虚线。 在网格属性中,which=both/major/mine然后通过线型简单定义颜色和线型。有没有办法只指定次要线型? 我到目前为止合适的代码是 plt.plot(current, counts, 'rd', markersize=8) plt.yscale('log') plt.grid(b=True, which='both', color='0.65', linestyle='-')
122 python  matplotlib 

5
如何在matplotlib中创建密度图?
在RI中,可以通过执行以下操作来创建所需的输出: data = c(rep(1.5, 7), rep(2.5, 2), rep(3.5, 8), rep(4.5, 3), rep(5.5, 1), rep(6.5, 8)) plot(density(data, bw=0.5)) 在python(带有matplotlib)中,我得到的最接近的是一个简单的直方图: import matplotlib.pyplot as plt data = [1.5]*7 + [2.5]*2 + [3.5]*8 + [4.5]*3 + [5.5]*1 + [6.5]*8 plt.hist(data, bins=6) plt.show() 我还尝试了normed = True参数,但除了尝试使高斯拟合直方图外什么也没有。 我的最新尝试是围绕scipy.stats和gaussian_kde,以下是网上的示例,但到目前为止我一直没有成功。
122 python  r  numpy  matplotlib  scipy 

6
保存交互式Matplotlib图形
有没有一种方法可以保存Matplotlib图形,以便可以重新打开它并恢复典型的交互作用?(就像MATLAB中的.fig格式一样?) 我发现自己多次运行相同的脚本来生成这些交互式图形。或者我要向同事发送多个静态PNG文件,以显示绘图的不同方面。我宁愿发送图形对象,并让它们自己与之交互。
119 python  matplotlib 

5
在ipython Notebook中向matplotlib图添加任意行
我对python / matplotlib以及通过ipython笔记本使用它都比较陌生。我正在尝试向现有图形添加一些注释线,但无法弄清楚如何在图形上呈现这些线。因此,例如,如果我绘制以下内容: import numpy as np np.random.seed(5) x = arange(1, 101) y = 20 + 3 * x + np.random.normal(0, 60, 100) p = plot(x, y, "o") 我得到以下图: 那么,如何添加一条从(70,100)到(70,250)的垂直线?从(70,100)到(90,200)的对角线呢? 我尝试了几件事,Line2D()但除了困惑之外,没有其他事情。在这里,R我将简单地使用segments()函数添加线段。有对应的matplotlib吗?

3
在matplotlib中的次要y轴上添加y轴标签
我可以使用将y标签添加到左侧的y轴plt.ylabel,但是如何将其添加到辅助y轴呢? table = sql.read_frame(query,connection) table[0].plot(color=colors[0],ylim=(0,100)) table[1].plot(secondary_y=True,color=colors[1]) plt.ylabel('$')
118 python  matplotlib 

5
如何消除matplotlib中子图之间的间隙?
下面的代码在子图之间产生间隙。如何消除子图之间的间隙并使图像紧密网格? import matplotlib.pyplot as plt for i in range(16): i = i + 1 ax1 = plt.subplot(4, 4, i) plt.axis('on') ax1.set_xticklabels([]) ax1.set_yticklabels([]) ax1.set_aspect('equal') plt.subplots_adjust(wspace=None, hspace=None) plt.show()
116 python  matplotlib 


3
matplotlib获取ylim值
我matplotlib用来从Python 绘制数据(使用plot和errorbar函数)。我必须绘制一组完全独立的图,然后调整它们的ylim值,以便可以轻松地对其进行视觉比较。 如何ylim从每个图检索值,以便分别取下和上ylim值的最小值和最大值,并调整图以便可以对其进行直观比较? 当然,我可以分析数据并提出自己的自定义ylim值...但是我想用它matplotlib来为我做这些。关于如何轻松(高效)执行此操作的任何建议? 这是我的Python函数,使用绘制matplotlib: import matplotlib.pyplot as plt def myplotfunction(title, values, errors, plot_file_name): # plot errorbars indices = range(0, len(values)) fig = plt.figure() plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.') # axes axes = plt.gca() axes.set_xlim([-0.5, len(values) - 0.5]) axes.set_xlabel('My x-axis title') axes.set_ylabel('My y-axis title') # title plt.title(title) # save as file …
115 python  matplotlib  plot 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.