如何在Matplotlib的极坐标图上添加一个楔形扇面
我希望使用Python的Matplotlib添加一个楔形概述一组极性数据.由于原因未知,我尝试使用楔形补丁艺术家未能成功.我想了解这些未知数,或者找到补丁艺术家方法的替代方案. 主要问题是楔形补丁没有像我期望的那样显示.鉴于我的代码,我希望它以一定角度定向,并且半径范围约为0.05.这将其放置在此处的部门图中: 但是,这种楔形的尺寸和位置与我的期望不同.查看缩放图时,它也会改变: 楔形物的角度大约是正确的角度范围(约25-27度),但它以错误的半径开始(应为〜0.4),是错误的宽度(应为〜0.05).为什么要使用这些所需的尺寸来画一个楔子? 我已经从类似问题中查看和调整了代码(例如,参见,例如, python:在极地图中添加环形扇区或楔子). 这是我的主要代码的改编,其中包括示例数据. import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Wedge
0 2023-11-20
编程技术问答社区
Matplotlib中的复杂极坐标图
我想创建一个相似的极性图: 我找不到如何在不同角度范围内添加两个不同函数的示例.我不需要中间的径向偏移,但可能很好.任何指针,已知的示例都将是超级! 解决方案 它似乎就像其他绘图一样与matplotlib,即,如果要绘制两条曲线,则多次调用plt.polar. 这是一个示例: import numpy as np import matplotlib.pyplot as plt blue_thetas = np.linspace(np.pi/3, 2*np.pi/3, 100) red_thetas = np.linspace(4*np.pi/3, 6*np.pi/3, 100) blue_rs = np.random.uniform(4, 6, len(blue_thetas)) red_rs = np.random.uniform(3, 5, len(red_thetas)) red_curve = plt.polar(red_thetas, red_r
0 2023-11-20
编程技术问答社区
在ggplot中,如何用一条线画一个圆/盘,按照给定的比例划分其面积,并在里面画上彩色的点?
我想使用圆圈内的点可视化比例.例如,假设我有100分,我希望在一个圆圈中散布(有些随机抖动). 接下来,我想使用此图来代表2020年美国总统选举的拜登/哈里斯的人的比例. 示例#1-密歇根州 拜登获得了密歇根州的50.62%的票数.我要画出一个水平直径,将圆拆分为两半,然后将圆形的点涂成蓝色(民主党的颜色). 示例#2-怀俄明州 与密歇根州不同,怀俄明州拜登只获得了26.55%的选票,这是大约四分之一的选票.在这种情况下,我会绘制一个水平和弦,将圆圈分开,使得磁盘下方的磁盘区域是整个磁盘区域的25%.然后,我将以蓝色为各个区域的各个点上色.由于我总共有100分,因此25%代表了在怀俄明州投票的25%. 我的问题:如何使用ggplot进行此操作?我研究了这个问题,这里有很多几何形状.首先,我谈论的区域被称为" 但是,我的目标不是解决几何问题,而是以一种非常具体的方式表示比例: 画一个圆 撒上x内部的点数 绘制一条(真实或无形的)水平线,该线根据给定比例
6 2023-10-26
编程技术问答社区
如何用ggplot在圆内随机散点,而不在中心周围聚类?
我想使用ggplot绘制一个圆,然后将点散布在其中.我有代码(从这个答案中采用),这使我非常接近我想要的东西.但是,我希望这些要点散布在圆圈内随机,但是现在我在中心周围得到了一个不希望的群集. 我看到了类似的问题和答案,但是它在C#中,我不明白如何适应它到R代码. 到目前为止我的代码 以下代码定义了自定义可视化函数vis_points_inside_circle(),然后称其为4次,以使用我当前的方法提供4个可视化的示例. library(ggplot2) library(ggforce) ## set up function vis_points_inside_circle
4 2023-10-26
编程技术问答社区
Python在4维球体上的点的均匀分布
我需要在4维球上的点均匀分布.我知道这不像挑选3个角并使用极坐标那样微不足道. 在三个维度中我使用 from random import random u=random() costheta = 2*u -1 #for distribution between -1 and 1 theta = acos(costheta) phi = 2*pi*random x=costheta y=sin(theta)*cos(phi) x=sin(theta)*sin(phi) 这给出了x,y和z的均匀分布. 如何获得4个维度的类似分布? 解决方案 一种标准方式,但是,也许不是最快的,是使用Muller的方法在N-Sphere上生成均匀分布的点: import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d.axes3d as axes3d N = 600 dim
8 2023-10-26
编程技术问答社区
在R中对图像进行极坐标转换
我试图将R中的图像(表示为矩阵)转换为极坐标空间,其原点为0,0(左上角).给定215x215矩阵x,看起来像: x0 = as.vector(col(x)) y0 = as.vector(row(x)) r = sqrt( (x0^2) + (y0^2) )#x a = atan(y0/x0)#y m = as.matrix(data.frame(y=a, x=r)) m = round(m) m[m>215] = NA m[m==0] = NA xn = x[m] xn = matrix(xn, 215, 215) 但是,xn看起来像: 当我期望这一点时: 知道我做错了什么? 解决方案 角度存在问题:atan返回弧度的角度. 如果您绕过它,没有太多信息... 尝试: a = atan(y0/x0) * 215 / (pi/2) 不是您期望的图像,显​​然是反变形的, 中心位于图像中间. # Load the image li
2 2023-10-25
编程技术问答社区
如何在一维信号中应用相位相关?
log polar变换通常在图像中使用,使用傅立叶变换来估算旋转和翻译等. 但是,我几乎没有使如何将其应用于音频信号的困惑.我试图通过对数极性变换(LPT)和相关性估算两个音频信号之间的时间变化. 我使用 https:///en.wikipedia.org/wiki/wiki/log-polar_coordinates 在使用MATLAB和Polar(Theta,Rho)的音频信号和绘图仪中,直到这里没有问题,问题是我不确定如何应用该转换信号的相位相关性. 谢谢. 解决方案 相关不仅适用于2D.您可以在1D信号上使用相同的东西.特别是,您的两个音频信号已经在时域上,而您只想知道它们之间的时间变化. 尝试原始音频信号上的相关相关性,而无需将其转换为对数极性表示. 这里是Python中的一个示例: import numpy as np # sig1, sig2 = your audio signals # ... fft_sig1 = np.fft.fft(sig
2 2023-10-25
编程技术问答社区
极地时间图中的间隙-如何在geom_line中连接起点和终点或删除空白处
我还是GGPLOT2的新手.我想从我的昆虫便便实验中绘制我的数据:X值是一天中的时间(24h),y值是以百分比产生的Poo(frass)的数量,并表示为圆形图.我添加了GEOM_RIBBON来表示我用圆形计算的标准偏差.首先,我从1/24而不是0/24开始遇到"时钟"问题: ggplot2时钟从1/24而不是0/24开始: 所以我添加了代码expand_limits(x = 0, y = 0),它帮助将1/24固定到0/24,但现在有0/24和1之间的差距: ggplot2时钟从0/24开始,但空白空间: 有人可以帮助我连接数据/删除那些小时之间的空白. 这是我使用的代码: b
4 2023-10-21
编程技术问答社区
如何将Java swing的黑色背景工具条集成到polaraxes中?
代码我尝试集成Altman的Matlab 2013 Polar Radar System 代码进入MATLAB 2016b Polarxes实现,因为我想使用Horiozontal Scrollbar具有黑色背景和缩放功能. 前者代码基本上使用javax.swing.JSlider具有continuous-movement callback. 当前错误来自行'StateChangedCallback',{@cbSlider,fp,imax});,其中axes imax行为不像预期 close all; clear all; clc; % http://stackoverflow.com/q/40030096/54964 fp=figure('Name', 'Test', ... 'Position',[200 200 851 404],'Resize','off'); % only half circle in polaraxes although warp can
14 2023-10-12
编程技术问答社区
SVG极地梯度
我是SVG的初学者,但我想学习一些技术. 简而 我正在考虑创建极地梯度,然后将其剪裁: 但是我如何产生极地梯度? 即使没有天然方法,也许可以使用简单的线性梯度制成,然后使用一些矩形偏置坐标转换.有办法这样做吗? 解决方案 所以这是我开发的解决方案: function makeGradient() { var root = document.rootElement, i = 256,
24 2023-10-05
编程技术问答社区
R:将直角坐标转换为极坐标,然后计算与原点的距离
我一直在寻找一种解决方案来转换笛卡尔坐标(lat,long),我必须偏向坐标才能促进我想运行的模拟,但是我在这里没有找到任何问题或答案在R中进行此操作.有许多选项,包括MATLAB中的内置功能CART2POL,但我的所有数据都在R中,我想继续在此框架上工作. 问题: i具有标记数据的LAT/长坐标,我想将其转换为极坐标(含义跳跃大小和角度:我很舒服地进行引导,但是我陷入了第一步,这将我的笛卡尔纬度/长坐标转换为极坐标(跳跃大小和转弯角).我知道在MATLAB等其他程序中有内置的功能可以执行此操作,但是我找不到任何方法.在那里或任何更简单的方法,我更喜欢这一点. 理想情况下,我想将数据转换为极坐标,运行模拟,然后为每个随机轨道输出一个端点,即作为笛卡尔坐标(lat/long),因此我可以计算出传递的直线距离. 我没有发布任何示例数据,因为它只是LAT和长坐标的两列数据框. 感谢您提供的任何帮助!如果在此网站或其他我错过的其他地方有一个简单的解释,请指出我的方向
8 2023-09-04
编程技术问答社区
将 3D 极坐标转换为笛卡尔坐标
我一直在对这种转换背后的数学进行大量搜索,到目前为止,我能想到的最好的是: x = sin(horizontal_angle) * cos(vertical_angle) y = sin(horizontal_angle) * sin(vertical_angle) z = cos(horizontal_angle) 对于任意角度,这可以正常工作.我有问题的地方是旋转之一为0度.在0度(OR 180,或360或...)时,sin()将为零,这意味着我从上面的公式中获得的x和y坐标都将为零,无论其他角度是什么被设置为. 是否有一个更好的公式不会以某些角度弄乱?到目前为止,我的搜索尚未找到,但是必须解决这个问题. 更新: 经过一番实验,我发现我的主要误解是我假设球形坐标的极线是垂直的(例如,如行星上的纬度和经度),而它们实际上是水平的(投影到屏幕上).这是由于我在屏幕空间中工作(X/y映射到屏幕上,z被投影到屏幕上),而不是传统的3D环境,但不知何故认为这是一个促成因素
14 2023-08-21
编程技术问答社区
Python 中的 RGB 极坐标图
我正在尝试在Python中产生RGB极地图,我希望matplotlib.pyplot.imshow能够做到这一点.但是,每当我尝试使用此方法绘制数据时,我都会获得空白输出. import matplotlib.pyplot as plt import numpy as np data = np.array([[[0,0,1],[0,1,0],[1,0,0]],[[0,0,0.5],[0,0.5,0],[0.5,0,0]]]) # Sample, any N,M,3 data should work ax = plt.subplot(111,polar=True) ax.imshow(data,extent=[0,2*np.pi,0,1]) # Produces a white circle 有一个很好的方法可以使用上述方法或另一种方法? 谢谢. 编辑:我设法使用extent=[0,np.pi/2,0,1]制作了一个象限,但它的使用显然是对极地图的错误.由于除了全象
18 2023-08-21
编程技术问答社区
如何在matplotlib中绘制极地hist2d/hexbin?
i具有随机向量(随机长度和随机角度),并希望通过hist2d或hexbin绘制其近似PDF(概率密度函数).不幸的是,它们似乎不使用极地图,以下代码一无所获: import numpy as np import matplotlib.pyplot as plt # Generate random data: N = 1024 r = .5 + np.random.normal(size=N, scale=.1) theta = np.pi / 2 + np.random.normal(size=N, scale=.1) # Plot: ax = plt.subplot(111, polar=True) ax.hist2d(theta, r) plt.savefig('foo.png') plt.close() 我希望它看起来像这样: >仅在极坐标中.到目前为止,最接近的结果是colored散点图,如在此处进行: import numpy as np import ma
30 2023-08-21
编程技术问答社区
改变plotly极地图的轴线
我正在使用Python使用Plotly工具,并且我使用一些虚拟数据进行了极地图: 我想更改轴,以便将我拥有的数据(从20到50左右)映射到图的整个360°.是否有一种方法可以使用已成词的命令来执行此操作,或者我需要编写一个函数,其中设置限制,然后在更改轴标签之前将这些数字映射到度数.我一直在寻找堆栈交换,但我只能找到将其更改为弧度的方法. import plotly.plotly as py import plotly.graph_objs as go import plotly.tools as tls import pandas as pd import numpy as np df = pd.read_csv('ExampleOutput.csv') trace1 = go.Scatter( r=df['TimeStamp'], t=df['AirTemperature'], mode='markers', name='Trial 1
14 2023-08-13
编程技术问答社区
如何在极地matplotlib图中旋转刻度线标签?
我有很长的标识符,我想制作一个径向图,tick的刻度都不同.例如,右侧为0度的第一个刻度应具有0度角.顶部的一个应为90度.左侧270度的一个应为0度.我希望它看起来让人想起径向树状图.使用matplotlib 2.0.2和python 3.6.2 在matplotlib中,这是否可以旋转单个tick标签或单独添加文本标签? 注意:我已根据下面的@ImportanceOfeNest更新了图. 设置ax.set_rticks([])在添加散点点和线条时会扭曲图. label.get_position()的位置大大抵消了图块右侧的标签. 有没有一种方法使用角度和振幅坐标? import pandas as pd import matplotlib.pyplot as plt import numpy as np data = {'0-b__|ce0Ji|aaaiIi9abGc_|ti5l-baa1tcciii|irGi': 0.2877496389700961
32 2023-08-12
编程技术问答社区
用 R 绘制心形
可能的重复: Equation-driven smoothly shaded concentric shapes 我如何在r中绘制对称心脏,就像我绘制一个圆(使用plotrix)或矩形一样? 我想为此做代码,以便我可以为自己做到这一点,并能够将其推广到类似的未来需求.我看过比这更精致的情节,所以这很可行,只是我缺乏这样做的知识. 解决方案 这是绘制"参数方程"的一个示例,即共享共同参数的X和Y的两个单独的方程的配对.您可以找到许多可以在这样的框架内写入的常见曲线和形状. dat
6 2023-07-25
编程技术问答社区
GPU光线投射(单次)与球面坐标的3D纹理
i'正在实现卷渲染算法" gpu ray casting Single Pass".为此,我将强度值的浮动阵列用作3D纹理(此3D纹理描述了球形坐标中的常规3D网格). 这里有数组值的示例: 75.839354473071637, 64.083049468866022, 65.253933716444365, 79.992431196592577, 84.411485976957096, 0.0000000000000000, 82.020319431382831, 76.808403454586994, 79.974774618246158, 0.0000000000000000, 91.127273013466336, 84.009956557448433, 90.2213560
8 2023-07-25
编程技术问答社区
R-Aesthetics中的圆形堆积柱状图必须是长度为1或与数据相同(26)
我正在尝试创建一个如下提到的圆形堆叠的barplot( https:/当我到达绘图的步骤时,我会收到以下错误(以下面的粗体): 错误:美学必须是长度1或与数据相同(26): 运行rlang::last_error()以查看错误发生的位置. 另外:警告消息: 删除了包含缺失值的208行(position_stack). 这是我的数据的样子(有5列和70行): 个体;团体; value1; value2; value3; Value4 这是我的代码: 以整洁的格式转换数据(长格式) data % gather(key = "observation", value="value", -c(1,2)) 使情节 p
12 2023-07-23
编程技术问答社区