R-Aesthetics中的圆形堆积柱状图必须是长度为1或与数据相同(26)
我正在尝试创建一个如下提到的圆形堆叠的barplot(错误:美学必须是长度1或与数据相同(26): 运行rlang::last_error()以查看错误发生的位置. 另外:警告消息: 删除了包含缺失值的208行(position_stack). 这是我的数据的样子(有5列和70行): 个体;团体; value1; value2; value3; Value4 这是我的代码: 以整洁的格式转换数据(长格式) data % gather(key = "observation", value="value", -c(1,2)) 使情节 p
14 2024-03-27
编程技术问答社区
在Matplotlib、Python3中,在极地/径向条形图中获得条形上面的标签
我想创建一个径向条形图.我有以下python3代码: lObjectsALLcnts = [1, 1, 1, 2, 2, 3, 5, 14, 15, 20, 32, 33, 51, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4, 6, 7, 7, 10, 10, 14, 14, 14, 17, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 5, 5, 6, 14, 14, 27, 27, 1, 1, 2, 3, 4, 4, 5]` lObjectsALLlbls = ['DuctPipe', 'Column', 'Protrusion', 'Tree', 'Pole', 'Bar', 'Undefined', 'EarthingConductor', 'Grooves', 'UtilityPipe', 'Cables', 'RainPipe', 'Moulding', 'Intrusion', 'PowerPlug', 'UtilityBox', 'Ba
14 2024-03-27
编程技术问答社区
改变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
6 2024-03-23
编程技术问答社区
将径向轴标记在极地绘图Matplotlib的线上
我试图将径向(或Y轴)标签在极地图上获取,以放在图表上绘制的线的顶部.现在,它们在线下面并被掩盖. 这是仅适用于一个城市和一行的代码的简化版本: fig, ax = plt.subplots(figsize=(10,6) , nrows=1, ncols=1,subplot_kw=dict(projection='polar')) rmax = 15 rticks = np.arange(9,rmax,1.5) rticklabel = np.arange(18,rmax*2,3).astype(int) theta = np.arange(0,6.3, 0.17) #plots a circle r = np.ones(len(theta))*(21/2) ax.plot(theta, r,c='r', linestyle='-',linewidth = 4,zorder=1) ax.set_rmax(rmax) ax.set_rticks(rticks) # les
18 2024-03-23
编程技术问答社区
在Matplotlib/Python中改变极地图的轴选项
我在Matplotlib中更改轴标签的问题.我想更改极地图中的径向轴选项. 基本上,我正在计算圆柱体的变形,这不过是半径与原始(完美圆形)圆柱体偏离的程度.某些失真值为负,而有些是由于拉伸和压缩力而阳性的.我正在寻找一种以图形方式用圆柱坐标来表示的方法,所以我认为极地情节是我最好的选择. Excel给了我一个"雷达图"选项,该选项足够灵活,可以让我指定最小和最大径向轴值.我想使用matplotlib. 我用于在极坐标上绘制的Python脚本如下. #!usr/bin/env python import matplotlib.pyplot as plt import numpy as np x = np.arange(-180.0,190.0,10) theta = (np.pi/180.0 )*x # in radians offset = 2.0 R1 = [-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.48
10 2024-03-23
编程技术问答社区
使用立体极地投影法从卫星数据中估计网格单元面积
我正在尝试使用来自极地地区的卫星数据.它们可以下载为.NC(NETCDF,请参见下文). 它们处于正常网格中的极地立体投影(/polar-stereo/ps_grids.html ). 我想估算每个细胞区域,以通过将每个细胞中的冰盖的比例乘以细胞区域来计算冰盖面积. 我只有在均匀的网格位于地理坐标(Lat-lon)中时,才能使用{raster}的"区域"提取细胞区域.但是,当网格在立体坐标中均匀时,我找不到任何R函数. 我是空间数据和预测的新手,也许我缺少一些重要的东西. 以下一些相关信息和一项具有两个试验的代码. 相关数据和信息来源 极性手表 海冰浓度数据 向下数据 URL 可以使用 在r中下载 url1
10 2024-03-03
编程技术问答社区
三维极地图中的二维图
我想绘制3D图,y = 100-x^2,围绕y轴的循环360度.最终变成了圆锥形.那可能吗?我有一个数组x=1:1:100和一个数组y,大小(1 100). 我尝试了一个z数组,z=1:1:100作为圆锥底部的第三轴.使用plot3,我完成了y = 100-x^2的一个图.我想对其进行动画,最终有一个锥体或表面锥. 解决方案 这是您要寻找的吗? r = 1:1:100; y = 100-r.^2; theta = 0:pi/20:2*pi; xx = bsxfun(@times,r',cos(theta)); zz = bsxfun(@times,r',sin(theta)); yy = repmat(y',1,length(theta)); surf(xx,yy,zz) 来源:通过曲线革命产生3D图
14 2024-01-08
编程技术问答社区
在Python中用直角坐标缩放法绘制极地图
我正在尝试在极坐标中绘制一些数据(我目前正在使用极地投影): 我使用的代码如下: import matplotlib.pyplot as plt import numpy as np # Create radial and angular array r = np.linspace(1.0,10,11) t = np.linspace(0.0,0.5*np.pi,101) # Define the quantity that I want to plot z = np.zeros((len(t),len(r))) for yval in range(len(r)): z[:,yval] = np.cos(16.0*t)/r[yval] #Create the figure f = plt.figure(figsize=(13,8)) ax = plt.subplot(111, projection='polar') ax.set_rorigin(-1) #Plot
12 2023-12-26
编程技术问答社区
直角坐标转为极坐标(三维坐标)
如何在3D空间中的笛卡尔和极地(以及后部)坐标系统之间进行转换?最好与C#示例一起使用,但是任何事情都将不胜感激.谢谢! 编辑 当考虑到20%的更改(不形成球体) 编辑2 private void Spherise() { for (int i = 0; i
14 2023-12-23
编程技术问答社区
在Python中使用极坐标绘制相位图
我需要以极性形式给出以下非线性系统的相肖像... \ dot {r} = 0.5*(r- r^3) \ dot {\ theta} = 1 我知道如何在Mathematica中做到这一点... field1 = {0.5*(r - r^3), 1}; p1 = StreamPlot[Evaluate@TransformedField["Polar" -> "Cartesian", field1, {r, \[Theta]} -> {x, y}], {x, -3, 3}, {y, -3, 3}, Axes -> True, StreamStyle -> Gray, ImageSize -> Large]; Show[p1, AxesLabel->{x,y}, ImageSize -> Large] 如何使用pyplot.quiver在python中进行相同的操作? 解决方案 校正上一个答案: 来自x=r*cos(theta)一个get dx = dr*
14 2023-12-11
编程技术问答社区
如何在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
16 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
16 2023-11-20
编程技术问答社区
在ggplot中,如何用一条线画一个圆/盘,按照给定的比例划分其面积,并在里面画上彩色的点?
我想使用圆圈内的点可视化比例.例如,假设我有100分,我希望在一个圆圈中散布(有些随机抖动). 接下来,我想使用此图来代表2020年美国总统选举的拜登/哈里斯的人的比例. 示例#1-密歇根州 拜登获得了密歇根州的50.62%的票数.我要画出一个水平直径,将圆拆分为两半,然后将圆形的点涂成蓝色(民主党的颜色). 示例#2-怀俄明州 与密歇根州不同,怀俄明州拜登只获得了26.55%的选票,这是大约四分之一的选票.在这种情况下,我会绘制一个水平和弦,将圆圈分开,使得磁盘下方的磁盘区域是整个磁盘区域的25%.然后,我将以蓝色为各个区域的各个点上色.由于我总共有100分,因此25%代表了在怀俄明州投票的25%. 我的问题:如何使用ggplot进行此操作?我研究了这个问题,这里有很多几何形状.首先,我谈论的区域被称为" 但是,我的目标不是解决几何问题,而是以一种非常具体的方式表示比例: 画一个圆 撒上x内部的点数 绘制一条(真实或无形的)水平线,该线根据给定比例
14 2023-10-26
编程技术问答社区
如何用ggplot在圆内随机散点,而不在中心周围聚类?
我想使用ggplot绘制一个圆,然后将点散布在其中.我有代码(从这个答案中采用),这使我非常接近我想要的东西.但是,我希望这些要点散布在圆圈内随机,但是现在我在中心周围得到了一个不希望的群集. 我看到了类似的问题和答案,但是它在C#中,我不明白如何适应它到R代码. 到目前为止我的代码 以下代码定义了自定义可视化函数vis_points_inside_circle(),然后称其为4次,以使用我当前的方法提供4个可视化的示例. library(ggplot2) library(ggforce) ## set up function vis_points_inside_circle
12 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
16 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
14 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
12 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
20 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
28 2023-10-12
编程技术问答社区
SVG极地梯度
我是SVG的初学者,但我想学习一些技术. 简而 我正在考虑创建极地梯度,然后将其剪裁: 但是我如何产生极地梯度? 即使没有天然方法,也许可以使用简单的线性梯度制成,然后使用一些矩形偏置坐标转换.有办法这样做吗? 解决方案 所以这是我开发的解决方案: function makeGradient() { var root = document.rootElement, i = 256,
36 2023-10-05
编程技术问答社区