小编use*_*220的帖子

在Matplotlib中填充x和基线x位置

我正在寻找一种在matplotlib中使用fill_between来遮蔽x1和x2而不是y1和y2的方法.

我有一系列的对数图,在Y轴上有深度,在x轴上有测量变量,并且想要绘制线的左侧或右侧,而不是上方或下方.

我确信这应该可以使用fill_between但不能使它工作.

举个例子:

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


gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1:, 1])

y=np.random.uniform(0,1,30)
x=np.arange(30)

ax1.set_ylabel('Plot 1')
ax1.plot(x,y)
ax1.fill_between(x,y,0.5,where=y>0.5,interpolate=True)

ax2.set_ylabel('Plot 2')
ax2.plot(y,x)
ax2.set_ylim(30,0)

plt.show()
Run Code Online (Sandbox Code Playgroud)

我附上了这个产生的图像:基本上我想在情节2位置绘制类似情节1的东西 在此输入图像描述

谢谢你的任何建议

python plot matplotlib fill

13
推荐指数
1
解决办法
2万
查看次数

在matplotlib中,在散点图中的数据点周围绘制一个光滑的多边形

我有一堆带有两组数据的交叉图,并且一直在寻找一种matploltib方法,用平滑的多边形轮廓突出显示它们的绘图区域.

目前我只使用Adobe Illustrator并修改已保存的情节,但这并不理想.例:在此输入图像描述

我很感激任何指针/链接到示例.

干杯

python polygon matplotlib scatter-plot polygons

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

在matplotlib中绘制一条关联多个子图之间区域的线

我是一名地质学家,有一堆不同深度的钻孔.

我粗略地设定了子图的数量,宽度和高度,以根据钻孔的数量和这些钻孔中的样本数量而变化.

在每个钻孔中都有一个我想要突出显示的区域,我用axhspan完成了这个区域.

我想做的是在钻孔(子图)之间进行关联,绘制一条连接所有钻孔区域顶部和底部的线.

我尝试过使用注释但没有取得很大进展.我不确定如何处理这个问题,并且不胜感激.

这是一些示例代码,以及它可能产生的图片

import numpy as np
import matplotlib.pyplot as plt
from random import randint

fig = plt.figure()

Wells=np.arange(0,10,1) #number of wells to plot

for i in Wells:
    samp=randint(50,100) #number of samples in well

    dist=0.02     #space between plots
    left=0.05     #left border
    right=0.05    #right border
    base=0.05     #bottom border
    width=((1.0-(left+right))/len(Wells))     #width of subplot
    height=(1.0-base)/(100.0/samp)            #height of subplot

    #create subplots
    ax = fig.add_axes([left+(i*width)+dist, 1.0-(base+height), width-dist, height])    #left,bottom,width,height of subplot

    #random data 
    x=np.random.random_integers(100,size=(samp))
    y=np.arange(0,len(x),1)

    #plot
    ax.plot(x,y,alpha=0.5)    

    #zone area of plot 
    zone=samp/2.5 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何在matplotlib中更改y轴上方sci表示法的大小?

如何在matplotlib中更改y轴上方sci表示法的大小?

下面是四个子图的基本代码和图像,我无法弄清楚如何减小y轴上方的sci幂表示法的大小.

我们欢迎所有的建议

在此输入图像描述

import matplotlib.pyplot as plt
import numpy as np

def plot():
    #plot data
    ax.plot(np.arange(0,10000,100),np.arange(0,10000,100))

    #set label style        
    ax.ticklabel_format(style='sci',axis='y')
    ax.yaxis.major.formatter.set_powerlimits((0,0))

    #format labels/ticks
    ax.tick_params(axis='x',tick1On=True, tick2On=False, label1On=True,
        label2On=False, labelsize=7,color='black')
    ax.tick_params(axis='y', tick1On=True,tick2On=False, label1On=True,
        label2On=False, labelsize=7,color='black')

fig = plt.figure()
ax = fig.add_subplot(2,2,1)
plot()

ax = fig.add_subplot(2,2,2)
plot()

ax = fig.add_subplot(2,2,3)
plot()

ax = fig.add_subplot(2,2,4)
plot()

plt.tight_layout()
fig.subplots_adjust(left=None, bottom=None, right=None, wspace=0.15, hspace=0.22)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib font-size

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

在列表上迭代函数,并追加返回的值

我有一个CSV数据集,40列乘800行.但举个例子可以说它看起来像这样:

Ref  X  Y
11   1  10 
11   2  9
11   3  8
11   4  7
12   5  6 
12   6  5
12   7  4
13   8  3
13   9  2
Run Code Online (Sandbox Code Playgroud)

您将如何定义一个函数,该函数返回每个Ref的平均X和Y值的列表?即产生如下:

Ref_list = [11,12,13]        
Av_X = [2.5,6,12.5]
Run Code Online (Sandbox Code Playgroud)

我怀疑这是接近它的最佳方式,但我编写了以下代码:

my_data = genfromtxt('somedata.csv', delimiter=',',skiprows=1) 

X=[]
for i in my_data:
    X.append(i[0])
    counter=collections.Counter(X)
    keys=np.sort((counter.keys())) #find and sort ref key values

def getdata():
    X , Y = [], []
    for i in my_data:
       if i[0] == refs:
           X.append(i[1])
           Y.append(i[2])
    AV_X=np.average(X)
    AV_Y=np.average(X)
    return AV_X, AV_Y …
Run Code Online (Sandbox Code Playgroud)

python counter average function

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

大都会hastings或MonteCarlo方法优于简单的网格搜索?

我有一个相对简单的函数,有三个未知的输入参数,我只知道上限和下限.我也知道我的所有数据的输出Y应该是什么.

到目前为止,我已经在python中进行了简单的网格搜索,循环遍历所有可能的参数组合,并返回Y预测和Y观察到的误差在设定限制内的结果.

然后我查看结果以查看哪组参数对每组样本的效果最佳,查看参数之间的权衡,查看异常值如何影响数据等.

所以我真正的问题是 - 虽然我使用的网格搜索方法有点麻烦,但使用蒙特卡罗方法(例如大都市hastings)会有什么优势呢?

我目前正在研究MCMC方法,但没有任何使用它们的实际经验,在这种情况下,不能完全看到可能获得的东西.

我非常感谢任何意见或建议

非常感谢

python montecarlo

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

如果值x ==列表y中的任何值:python

我是python的新手,想做类似的事情:

if value x == any value in list y:
   write x
Run Code Online (Sandbox Code Playgroud)

这将与函数一起运行,因此只有符合某个标准的解决方案才会在生成时写入csv

python if-statement

0
推荐指数
2
解决办法
7225
查看次数