程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在python中绘制不同半径的圆形轮廓大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在python中绘制不同半径的圆形轮廓?

开发过程中遇到在python中绘制不同半径的圆形轮廓的问题如何解决?下面主要结合日常开发的经验,给出你关于在python中绘制不同半径的圆形轮廓的解决方法建议,希望对你解决在python中绘制不同半径的圆形轮廓有所启发或帮助;

我有数据点的 X 和 Y 坐标,对于相应的 (x,y) 坐标,我有一些值。现在我想在每个 (x,y) 处绘制一个圆形轮廓,因为我已经使用 https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.patches.Circle.html 库来绘制不同半径的圆。

在python中绘制不同半径的圆形轮廓

但是在着色时,最大的圆圈颜色接管了所有较小的圆圈。

在python中绘制不同半径的圆形轮廓

在python中绘制不同半径的圆形轮廓

这是代码供参考。

%matplotlib qt
from scipy.interpolate import grIDdata
from numpy import linspace
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
locs=pd.read_excel(r"location of coordinates")
x=locs.iloc[:,1].values
y=locs.iloc[:,2].values

i=0
a=[]
b=[]
c=[]
d=[]
while i<len(x):
    temp=plt.Circle(( x[i],y[i] ),0.1,color='y') 
    a.append(temp)
    temp1=plt.Circle(( x[i],0.2,fill = False) 
    b.append(temp1)
    temp2=plt.Circle(( x[i],0.3,color='g') 
    c.append(temp2)
    i+=1
i=0
figure,axes = plt.subplots() 
while i<len(x): 
    axes.add_artist( a[i] ) 
    axes.add_artist( b[i] ) 
    axes.add_artist( c[i] ) 
    plt.Title( 'colored Circle' ) 

    plt.xlim(-3,3.2)
    plt.xticks(np.arange(-3,3.2,0.2))
    plt.ylim(-0.01,1.1)
    plt.yticks(np.arange(-0.1,1.1,0.1))
    i=i+1

plt.scatter(x,y,marker='X',c='r',s=500)
plt.colorbar()
plt.show() 

我正在尝试使用不同颜色的轮廓。此外,我将添加 plt.colorbar,根据“Z”将具有一些值,我们将使用颜色条中的颜色在圆圈中显示颜色。

解决方法

您对 fill=False 的一次调用中只有一个 plt.Circle。因此,您的第一个选择是向其他圈子添加 fill=False

如果您想让它们保持填充状态,您需要确保圆的 zorder 随着半径的减小而增加。

while i<len(x):
    temp=plt.Circle(( x[i],y[i] ),0.1,color='y',zorder=3) 
    a.append(temp)
    temp1=plt.Circle(( x[i],0.2,fill = False,zorder=2) 
    b.append(temp1)
    temp2=plt.Circle(( x[i],0.3,color='g',zorder=1) 
    c.append(temp2)
    i+=1

或者,如果您最后绘制最小的圆,它将被绘制在较大的圆之上:

while i<len(x): 
    axes.add_artist( c[i] ) 
    axes.add_artist( b[i] ) 
    axes.add_artist( a[i] ) 

大佬总结

以上是大佬教程为你收集整理的在python中绘制不同半径的圆形轮廓全部内容,希望文章能够帮你解决在python中绘制不同半径的圆形轮廓所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: