Matplotlib 如何在功能不连续的地方放下连接线

我正在绘制一些有几个间断的函数。每个函数都以列表的形式给出。我只想在函数连续的地方用线连接点 下面是plot正在做的一个简化示例 x=linspace(0,1,100) y=zeros(100) y[x<0.5] = x[x<0.5] y[x>=0.5] = 1 + x[x>=0.5] plot(x, y, '-o') x=linspace(0,1100) y=零(100) y[x=0.5] 图(x,y,'-o') 在x=0.5处存在不连续性,但绘图将所有点与

Matplotlib 将pcolormesh和contour放在同一网格上?

我正在尝试使用轮廓和pcolormesh显示带有轴标签的二维数据。如matplotlib用户列表中所述,这些函数遵循不同的约定:pcolormesh期望x和y值指定各个像素的角点,而contour期望像素的中心 使这些行为一致的最佳方法是什么 我考虑过的一个选项是创建“中心到边缘”函数,假设数据间隔均匀: def centers_to_edges(arr): dx = arr[1]-arr[0] newarr = np.linspace(arr.min()-dx/2,arr.ma

执行matplotlib.pyplot.subplot()时出错

我有一个脚本,可以从日志数据创建png图像。它可以在生产机器上正常工作,但现在在处理此生产线时会在新的盒子上吐出错误: fig, ax = plt.subplots(1,1, figsize=(20,14)) AttributeError: 'module' object has no attribute 'subplots' 我怀疑不同模块的版本差异存在问题。有什么见解吗 最新版本的Ipython没有此问题。按照@Jay Bosamiya的建议将其作为答案,以结束此问题 我假设您

两幅图像之间的Matplotlib差异

我有一些图像(4000x2000像素)是从同一个图像中派生出来的,但是在不到1%的像素中有细微的差异。我想并排绘制这两幅图像,并突出显示阵列中不同的区域(通过高亮显示我的意思是我希望不同的像素跳出,但仍然显示与其值匹配的颜色。到目前为止,我一直在使用未填充的矩形来勾勒这些像素的边缘。我可以在小图像(~50x50)中很好地做到这一点: 但是,当图像非常大时,这种方法不太管用。奇怪的事情会发生,例如当我放大补丁消失时。而且,这种方法很糟糕,因为当我放大/缩小时,加载东西要花很长时间 我觉得一定有更好

Matplotlib/不正确对齐 #柱状图 n=np.random.randn(100000) 图,轴=plt.子批次(1,2,figsize=(12,4)) 轴[0]。历史(n) 轴[0]。设置标题(“默认直方图”) 轴[0]。设置_xlim((最小值(n)、最大值(n))) 轴[1]。历史(n,累计=真,箱数=50) 轴[1]。设置标题(“累积详细直方图”) 轴[1]。设置_xlim((最小(n),最大(n));

这来自[41]中的ipython笔记本 直方图条似乎没有与网格正确对齐(请参见第一个子图)。这也是我在自己的情节中面临的问题 有人能解释一下原因吗?如果高斯分布在-2647到+1324之间,你希望有3971个箱子吗?也许太多了。39 ? 那你就差0.71了。40美元怎么样?减0.29 直方图的工作方式是您可以设置bin=参数(bin的数量,默认为10)。在右图上,比例似乎从-4.5到+4.5,这使得跨度为9除以10个箱子,得到0.9/箱 另外,当你做柱状图时,你并不清楚你想如何把东西分类并表示出

是否可以使用数据点的形状在matplotlib中创建侧栏?

与下图类似(似乎是手工生成的): 是否可以使用matplotlib生成以紫色圈出的区域 我知道有可能有相关颜色/密度的边栏,但我对形状本身感兴趣 您可以简单地分别用固定的x和y再次绘制项目。由于默认情况下会剪裁轴外的项目,因此打印时必须将clip_on设置为False import matplotlib.pyplot as plt import numpy as np #stars x1 = np.random.rand(4) y1 = np.random.rand(4) # circle

Matplotlib 如何创建相对于其他轴具有相对位置的轴?

我有几个fcontour图,每个图都有一个色条。对于颜色条,我正在创建额外的轴。可以设置颜色条轴相对于其fcontour轴的位置? 我只能设置轴相对于图形的位置。谢谢 在阅读了tcaswell建议的文档后,我使用了divider=make\u axes\u locatable(ax)和cax=divider.append\u axes(“right”,size=“4.45%”,pad=0.07,aspect=True)。通常是分隔器。附加轴将具有相同高度的轴附加到绘图中,但您似乎可以更改设置as

Matplotlib 从文本文件读取两列数据并使用tikz包打印

我想导出两列(x和y)中的数据,并使用LaTeX中的tikz包绘制它们。有没有办法从大量的行中找到它?一段代码就足够了 看看pgfplots包。这里有一个简单的例子: \documentclass[border=10pt]{standalone} \usepackage{pgfplots} \usepackage{filecontents} %数据文件“data.dat”的内容。 %如果您的数据位于外部文件中,请删除此块。 \开始{filecontents}{data.dat} xy 0 0.2

Matplotlib 如何在图例中的同一标签下添加条和线?

我用两个Y轴绘制了一个图,其中一个有条形图,另一个有直线,我想为这两个图添加一个通用图例 如果我添加以下内容: axis1.legend([(bar1, line1), (bar2, line2)], ['Solution 1', 'Solution 2'], loc='upper left', numpoints=1) 我几乎得到了我想要的,除了标记者/艺术家(不确定这里哪个术语合适),这两种解决方案重叠,如图所示: 有没有可能先让酒吧艺术家和线条艺术家并排,然

Matplotlib 在python中绘制分段函数

我试图在matplotlib中绘制一个分段函数。我的过滤方法(基于Ami的答案)不起作用: ValueError:x和y必须具有相同的第一个维度 你能解决这个问题吗 import numpy as np import matplotlib.pyplot as plt gK_inf = 7.06 gK_0 = 0.09 tauN = 0.75 gK_inf1 = 0.09 gK_01 = 7.06 tauN1 = 1.1 def graph(formula, formula1, t_rang

Matplotlib 如何在更改小部件的某些属性后强制重新绘制小部件?

在与matplotlib.widgets.Slider实例关联的回调中,我想修改Slidervalmin、valmax和val属性,然后重新绘制滑块。当我试图重新画它时,什么也没发生 在回拨完成之前,我调用plt.draw(),在正确更新其余绘图的同时,滑块看起来与以前一样。我还尝试在滑块的轴上调用draw(),再次没有可见的更改 更改滑块实例的属性后,如何强制重新绘制该实例 坦斯克 更新 这里是一个演示该问题的小程序(带有一个粗略的对话框)。想要的行为是,通过单击单选按钮的不同值,滑块可以更改

Matplotlib 从x轴上的不同位置开始绘制

我试图从x轴的不同位置开始绘制一系列函数。我可以从原点开始绘制,但不同的位置会给这些迭代带来麻烦。例如: x = [2,4,8, ..., Max] y1=x**2 + 4 y2=x**2 + 4 ... y_m=x**2 + 4 每个都在以下区域之间绘制: [0, Max], [2, Max], [8, Max], .... [x_n-1, Max] 有人能帮忙吗?为了绘制这个左截断的函数集,您可以迭代数组片的起始索引,即x[i://code>,这将选择i==0的完整列表,并在后续循环

在保持轴大小的情况下,在imshow上绘制Matplotlib

每当我使用imshow()打印图像时,在其上以成对的底部x轴打印1D数据会更改使用forimshow()创建的初始x轴的大小和纵横比。我如何避免这种行为?以下是如何重现该问题: import numpy as np import matplotlib matplotlib.use('macosx') import matplotlib.pyplot as plt im = np.random.rand(2856, 4290) light_curve = im[1000, :] fig = p

使用matplotlib绘制矩阵,其中第三个变量作为颜色贴图的源

假设矩阵由三个数组给出,分别为: x=N维数组 y=M维数组 z是一组NxM形状中从-0.3到0.3的“随机”值。我需要创建一个图,其中x值在x轴,y值在y轴,并使用z作为源,以颜色贴图指示每个像素的强度 到目前为止,我已经尝试使用 plt.contourf(x,y,z) 结果图对我来说非常好(附在本段末尾),但是平滑会自动应用到图中!我需要能够区分像素,但我找不到方法。 我还研究了使用 ax.matshow(z) 为了成功地看到像素。。。但是我正在努力个性化x轴和y轴,因为只显示像素的索

Matplotlib线和;填充颜色因alpha设置而不同

产生 我该如何补救呢?这是由于linewith造成的。尝试两种plt.plot功能: xValues1 = np.linspace(-5, 5, 5000) xValues2 = np.linspace(-5, 5, 5000) yValues1 = -xValues1**2 + 10 yValues2 = -xValues2**2 + 18 plt.ylim(0,20) plt.plot(xValues1, yValues1, color='green', linewidth=5, al

Matplotlib imshow中的打印未正确获取x值

我有以下2d绘图代码。我从文件中读取数据并附加它们。在我将它们转换为数组之后。它绘图,但不能正确获取θu min和θu mix。作为x值,它只获取所需值的位置,而不获取值本身。 请建议 谢谢你的帮助。 输出看起来是正确的。x从theta_min到theta_max。您希望看到什么?谢谢您的回复。但问题是。。虽然X轴显示了正确的θ值,但在图中,我没有得到关于θ的相应强度值。图中绘制的值是数组第1到第10个位置的值。我希望我清楚我的疑问,例如,如果我使用extent=(x[200],x[-1],y

Matplotlib:不同颜色点和线的图例

请参阅以下代码: import matplotlib.pyplot as plt import numpy as np from pylab import * graph_data = [5, 8, 7, 9] x = range(len(graph_data)) y = graph_data fig, ax = plt.subplots() # Comment the following two lines plt.plot(x, y, markersize=6, color='g', l

matplotlib散点图-x轴上仅显示少数标签

在matplotlib中使用散点图进行打印时,我发现标签中缺少x轴的一些值。我想在图形中显示所有x轴图例 这可能与记号间距有关,但我不确定如何将其设置为显示所有x轴值 在示例代码中,我希望所有日期都显示在x轴上 x=[datetime.date(2019,6,16),datetime.date(2019,6,17),datetime.date(2019,6,18),datetime.date(2019,6,19), datetime.date(2019,6,20),datetime.date(2

plt.imshow()的matplotlib,更改像素的大小

我正在学习使用matplotlib的imshow()函数绘制等高线图。下面的代码得到了一个像素太大的等高线图。不是我所期望的。有人知道如何微调函数的参数以获得更高的分辨率吗 我尝试使用带有值auto的aspect关键字参数进行实验,但这并没有解决问题 这个例子来自Jake VanderPlas的《Python数据科学手册》,第一版,p。241 plt.imshow(Z, extent=[0, 5, 0, 5], origin='lower', cmap='RdGy') plt.colorbar(

Matplotlib 使用IpyWidgets动态打印

因此,我尝试创建一个单元格,使用滑块刷新绘图。 这是密码 slider = FloatSlider(0.1) slider.max = 1 slider.min = 0 plt.plot(figsize=(15,10)) def plot_corr_graph_summary(lod): plt.clf() corrMatrix_Crushed = df_summary_virtual_physical_split.iloc[:,int(lod):].corr() sn

Matplotlib Seaborn countplot--将计数添加到条形图顶部时遇到问题

我有一个调查数据集,我正试图开发一些摘要条形图 我已经成功地创建了情节(带有图案填充——以防我需要以黑白形式发布)。。。但是,我想将计数添加到条形图的顶部,但似乎无法获得正确的结果 请注意下面的代码(请参见“bar.annotation…”)。代码成功显示绘图,但未在条形图顶部显示计数 import seaborn as sns import matplotlib.pyplot al plt df = survey['Which of the following best describes

如何修复python中已安装matplotlib中的matplotlib.pyplot问题

我是python新手,上个月我在python中安装了matplotlib模块,并使用它成功地编写了一些代码。但是现在我突然不知道为什么我的matlpotlib模块不工作了。当我写“import matplotlib.pyplot as plt”时,显示错误“ModuleNotFoundError:没有名为“matplotlib.pyplot”的模块;“matplotlib”不是一个包”,以前执行的代码也不工作,并且显示相同的错误。“import matplotlib”语句在命令提示符下正常工作,

Matplotlib 从轴数据向绘图添加数据值

在使用数据框向条形图/线形图添加数据值时,存在许多问题和解决方案。但我有一个独特的情况,我想从显示值的轴数据创建绘图 from matplotlib.ticker import PercentFormatter time_report = pd.DataFrame([["A", 6, "2020-1"], ["B", 8, "2020-1"],["A", 4,"2020-2"

Matplotlib sns.regplot在回归线y轴上设置限制

对于给定的seaborn图,我们如何将回归线y轴限制设置在5以内。 评级从未超过5。有没有办法截断/剪辑它? sns.regplot(x=“评论”,y=“评级”,数据=df) 根据您的要求更改y_lim的值 g = sns.regplot(x="Reviews", y="Rating", data=df); g.set(ylim=(None, 5)) plt.title('Rating VS Reviews') g = sns.regplot(x

Matplotlib 海生时间序列

我有这样一个DF: DESTINY航班起飞前的天数 0-31 13 324.69 REC GOL G3 2810(GRU) 1-30 13 324.69 REC GOL G3 2810(GRU) 2-30 13 324.69 REC GOL G3 2810(GRU) 3-30 13 324.69 REC GOL G3 2810(GRU) 4-30 13 324.69 REC GOL G3 2810(GRU) 我正在使用此代码获取我的绘图: plt.figure(figsize=(10,4))

Matplotlib 如何在python中处理数据点过多的图形?

我正试图绘制一张图表,以观察区域与办公室工作部门之间的趋势。以下是我的代码及其生成的图形: pd.crosstab(train['department'],train['region']).plot.bar(stacked=True); 正如您所看到的,由于太多区域的可用性,图例变得有点混乱,一些条形图无法正确显示。因此,我想学习如何分配图例以使整个图形可见。我在plt.legend()中使用了prop和loc等函数,但它仍然不能解决我的问题 因此,我们非常感谢您提供的任何帮助。将图例放在外

Matplotlib 将条形图和折线图放在一起,获取错误序号必须为>=1. f,ax1=plt.子批(sharex=True,figsize=(20,20)) ax2=ax1.twinx() coeff_df[[USRealRate_cont'、'USHY_spread_cont'、'VIX_cont'、'DXY_cont']]绘图条(叠加=真,ax=ax1) coeff_df['EM_spread'].绘图(颜色为绿色,线宽为3',ax=ax2,次要_y=True)

我试图显式地将dataframe的索引设置为datetime,但这没有帮助。问题来自最后一行——它实际上绘制了条形图。我在这里也查看了其他类似的错误消息,但找不到解决方案 索引数据类型为dtype='datetime64[ns]',数据帧本身包含浮点数。linewidth='3'或linewidth=3?谢谢。我认为两者都应该起作用,但这并没有解决问题。

Matplotlib 当通过ax.legend()添加图例标签时,为什么get_legend_handles_labels()返回空列表

在以下通用代码之后: 导入数学 将matplotlib.pyplot作为plt导入 x=[x代表范围内的x(10)] y=[x中x的数学sin(x)] 以下两个代码段生成完全相同的绘图: ax=plt.subplot() 散度(x,y,label='AAA') ax.图例() print('ax.get\u legend\u handles\u labels()返回:\n',ax.get\u legend\u handles\u labels()) plt.show() ax=plt.sub

jupyter笔记本中matplotlib绘图的缩放Y轴

我想缩放Y轴,这样我就可以看到值,因为下面的代码只能看到一条细黑线。更改打印高度不会展开打印 import numpy as np import matplotlib.pyplot as plt data=np.random.random((4,10000)) plt.rcParams["figure.figsize"] = (20,100) #or swap line above with one below, still no change in plot height

matplotlib.colors.LogNorm中的零问题

我正在使用 plt.imshow(hist2d, norm = LogNorm(), cmap = gray) 其中hist2d是直方图值的矩阵。除了hist2d中的元素为零之外,这一切正常。特别是,我获得以下图像 但是我希望白色的补丁是黑色的 谢谢大家! 如果您对当前的颜色缩放感到满意,并且只希望0值为黑色,那么我只需更改输入矩阵,以便将0替换为下一个最小值: import matplotlib.pyplot as plt import matplotlib.cm, matplotlib.

Matplotlib mpl_toolkits.basemap无法正确调整大小

我在嵌入式pyside窗口中有一个来自mpl_toolkits.basemap的映射。当我调整窗口大小或使用NavigationToolbar中的zoon/pan按钮时,背景未正确更新 这可能是什么原因 目前的代码是: class geoDialog(QtGui.QDialog, Ui_mplDialog): def __init__(self, parent=None): super(geoDialog, self).__init__(parent) #

如何在matplotlib中一次指定多个标签?

我有以下数据集: x = [0, 1, 2, 3, 4] y = [ [0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [9, 8, 7, 6, 5] ] 现在,我用以下方法绘制它: import matplotlib.pyplot as plt plt.plot(x, y) 但是,我想使用此命令标记3个y数据集,这会在调用.legend()时引发错误: lineObjects = plt.plot(x, y, label=['foo', 'bar'

Matplotlib 使用pylab显示管线的多个重叠点

在使用绘图(x,y)的布线算法中,我遇到了显示重叠点的问题。具体来说,我想画一条路线,比如说(0,1,2,0,1),0有一些坐标x和y。因此,如果我对上述路线使用绘图(x,y),路线0-1将与后一条路线0-1重叠 因为它们都有相同的x和y坐标。我如何分别显示,以便使用plot(x,y)和pylab区分这两条线。也许你的意思是这样简单的 import matplotlib.pylab as plt xseries=[0,2,2,3,4 ] #x values first route yser

Matplotlib:图例中的水平线长度

假设我正在使用matplotlib绘制一条直线并添加图例。 在图例中写着----Label。我发现打印小尺寸图形时,这条线的默认水平长度有点太长 是否有将----Label设置为----Label的属性 创建图例时,添加handlelength关键字,该关键字设置“--”(称为句柄)的长度。要完成:如果要从默认值(2)增加到另一个值,这通常为plt.legend(handlelength=4)。如果标记与线型冲突,使其无法读取,则此操作非常方便。

Matplotlib:为轴/记号标签着色

一种颜色的y轴标签和红色的勾号标签将如何显示 例如,“y标签”和值0到40,用红色表示。 同样,您可以获取并修改记号标签: [i.set_color("red") for i in plt.gca().get_xticklabels()] xlabel在设置时可以着色 ax.set_xlabel("x-label", color="red") 要设置ticklabels的颜色,可以使用设置ticklabels和ticks颜色的tick_params ax.tick_params(axis=

Don';t自动调整matplotlib中某些打印项目的xlim、ylim

使用matplotlib绘制一组线时,会自动调整轴限制,以将所有绘图适配到可见范围内。 现在,我想添加一些纯粹用于定向的线,它们不一定需要在全尺寸的可见范围内。是否可以告诉matplotlib不要为某些打印对象调整xlim,ylim ax = plt.gca() ax.plot(arange(15)) plt.draw() # it will re-scale here ax.autoscale(False) ax.plot(arange(15) ** 2) ax.draw() # will n

matplotlib tex渲染器出现意外错误

我正在根据一些值创建一个带有彩色贴图的散点图,并且我正在尝试将x_轴标签的一部分改成斜体(主要受本文->的启发),但是我遇到了一个我自己无法解释的LaTeX错误,如果有人能够解释这一块出现了什么问题,我将不胜感激 在此处重现问题所需的最低代码: #! /usr/bin/env python import numpy as np import matplotlib.pyplot as plt from matplotlib import rc X = [1257.422648,1298.44919

Matplotlib 绘制时间序列

我正试图绘制每分钟的股票数据,这对我来说是一个系列。股票数据在上午9:30到下午4:00之间提供。当我绘制它时,我得到如下结果: 有没有办法避免在盘后进行插值?您需要为绘图构建自己的轴,该轴不包括市场关闭期间。这是很微妙的。示例如下: import pandas as pd import matplotlib.pyplot as plt import calendar from matplotlib.ticker import FixedLocator # --- let's fake up

Matplotlib:Gridspec或plt.subplot2grid的OOP等价物是什么

要在可以具有colspan和rowspans的表中排列子地块,Matplotlib的Pyplot API使用: 在这个问题上,用户tcaswell说不应该混合使用这两种API: 考虑到这个建议,如何在不使用Pyplot API的情况下实现colspan和rowspans 编辑1 我认为用一个工作示例来扩展这个问题可能会很好。我实现了用户Julien在回答中的建议,一切正常: #!/usr/bin/python3 from gi.repository import Gtk from

如何使用matplotlib为python中的子地块设置相同的比例

我想轻松直观地比较子地块。为此,我想为所有子地块设置相同的比例 我的代码运行良好,我能够绘制子图,但具有自己的比例。我希望保持x轴上的比例。如果希望有两个子地块具有相同的x轴,则可以在创建第二个轴时使用: import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)

Matplotlib 绘制连接点的线

我知道还有一个非常类似的问题,但我无法从中提取我需要的信息 我在(x,y)平面上有4个点:x=[x1,x2,x3,x4]和y=[y1,y2,y3,y4] x=[-1 ,0.5 ,1,-0.5] y=[ 0.5, 1, -0.5, -1] 现在,我可以通过以下操作绘制四点: import matplotlib.pyplot as plt plt.plot(x,y, 'ro') plt.axis('equal') plt.show() 但是,除了四点之外,我想有两条线: 1) 一个连接(x

Matplotlib:plt.text,具有用户定义的圆半径

亲爱的stackoverflow用户: 我想在x,y坐标图中绘制一些数据标签。在标签周围,我想放置一个具有用户定义半径的圆,因为我想用圆的半径来表示数据属性的大小 示例数据集可能如下所示: point1 = ["label1", 0.5, 0.25, 1e0] # equals [label, x, y, radius] point2 = ["label2", 0.5, 0.75, 1e1] # equals [label, x, y, radius] 我想将代码silimar用于以下内容:

如何在matplotlib python中绘制每个集群的平均轮廓分数

我有78行131列,我需要在python matplotlib中将每个集群的平均轮廓分数绘制为一个折线图。我做了这些代码,做得很好,但我不知道如何绘制 mean = KMeans(n_clusters = 2) kmean.fit(Data1) centroids = kmean.cluster_centers_ print("Shape of Centroids Array: " + str(centroids.shape)) print() print(centroids) from c

Matplotlib 如何设置绘图矩阵中的数字格式

如何改进矩阵中这种奇怪、难以辨认的数字格式,使其只显示简单的数字 from sklearn.naive_bayes import GaussianNB from sklearn.linear_model import LogisticRegression from sklearn.ensemble import GradientBoostingClassifier from sklearn.ensemble import RandomForestClassifier from lightgbm

Matplotlib 一堆海本热图

我想制作一个类似于此的图表 这本书清楚地说明了如何制作2d版本,但我正在努力弄清楚如何制作这种类型的图形。一开始:@JohanC看起来很费劲。必须有更好的办法。这是另一种方法。一个开始:@JohanC看起来很费力。必须有更好的办法。这是另一种方法。

如何将Matplotlib从版本2更改为版本3?

当我在python中键入matploblib.\uuuuu version\uuuuu时,它返回'2.1.2'。我想知道是否有办法将matplotlib 2更改为matplotlib 3 我正在使用python3和MacOS。谢谢 您可以通过conda或pip安装最新版本: conda install -c conda-forge matplotlib==3.1.3 or python -m pip install -U pip python -m pip install -U matplot

  1    2   3   4   5   6  ... 下一页 最后一页 共 30 页