Python 2.7.1-Pynomo-圆形8类列线图中的刻度对齐

Python 2.7.1-Pynomo-圆形8类列线图中的刻度对齐,python,Python,我这边的第一个问题。在过去两个月的自学中,我利用堆栈溢出和笨拙的设计解决了所有问题,但现在我陷入了困境: 我使用Pynomo绘制诺模图,得到了一些非常好的结果。我的最新项目是设计一个圆形列线图,使用多个“8型”转换图,如 从第30页开始。 然而,我无法正确排列圆形图表,也无法影响如何排列圆形图表。在给出的示例中,图表大多共享一个公共最小值(零)。但是,我的函数(都像AxB+C)没有共享一个共同的最小值。我很容易将每个刻度的值分布在一个圆圈中,但圆圈并没有在其最小值处对齐 是否有人有想法或解决办法

我这边的第一个问题。在过去两个月的自学中,我利用堆栈溢出和笨拙的设计解决了所有问题,但现在我陷入了困境: 我使用Pynomo绘制诺模图,得到了一些非常好的结果。我的最新项目是设计一个圆形列线图,使用多个“8型”转换图,如 从第30页开始。 然而,我无法正确排列圆形图表,也无法影响如何排列圆形图表。在给出的示例中,图表大多共享一个公共最小值(零)。但是,我的函数(都像AxB+C)没有共享一个共同的最小值。我很容易将每个刻度的值分布在一个圆圈中,但圆圈并没有在其最小值处对齐

是否有人有想法或解决办法,我如何将最小的“32到340”与“66到285”(例如)排列起来,使32和66对应


我可以提供一些示例代码,但我想这个问题对于Pynomo来说是非常特殊的,普通用户会知道我在说什么。

它可能与谁有关:我找到了一个解决方案。这很笨拙,但我既不是程序员也不是数学家

我试图在一张图中显示3个不同的项目作为“饼图”,每个110度,中间有一些空间(想想梅赛德斯-奔驰标志)。对于每件作品,都会显示一些带有刻度的圆圈碎片,并在外部显示结果刻度。 因此,对于项目1,你找到你感兴趣的组(圆圈碎片),从bullsey中画出,穿过它到外圈,然后阅读结果。如果需要,请重复第2项和第3项

由于所有碎片和碎片都遵循一般公式:

结果=(测量值x A)+B

我遇到了这样一个问题,圆圈碎片看起来是相互旋转的,一个从10度开始,另一个从113度开始,以此类推。 要将每个片段设置为正确的开头,从而形成一块漂亮的蛋糕,我必须执行以下操作: 确定蛋糕的尺寸(我选择了110度)。 确定您感兴趣的结果范围(我只对1.5到2.0的结果感兴趣)。 计算蛋糕中每组的最小和最大测量值,以获得最小和最大结果。 从最大值中减去最小值,然后除以蛋糕片尺寸(在我的例子中为/110),得到“每度单位”。 现在确定蛋糕块的起始位置(零通常是“东”位置),并计算相对于最小测量值的相对度作为“起始点”,例如45度。 将该度数乘以“每度单位”。现在你有了构造诺模图的一切。你不必完全填写,通过将数字应用到最外面或最里面的部分来检查你的假设,应该会给你一个很好的估计,所有东西都会在完整的列线图中结束。 就我而言(仅一个街区):

中心2_参数={ “乌敏”:25.2413, “u_max”:42.4827

“函数”:λu:9*math.cos((数学弧度(110/(42.4827-25.2413))*(u+10.025078)),#*2*pi/360*56.4)

“函数y”:λu:9*math.sin((数学弧度(110/(42.4827-25.2413))*(u+10.025078)),#*2*pi/360*56.4)

中心2块参数={ “块类型”:“块类型8”, “f_参数”:中心2_参数, “宽度”:15.0, “高度”:15.0, }

如果需要,读取圆坐标。 在pdf示例中,我包括了一个bullseye中心。我本可以在一个列线图中显示所有部分,但却创建了3个单独的列线图,并将它们从pdf导入GIMP,在GIMP中组合它们(按颜色选择-单击白色-选择“选择-反转”),复制并粘贴为新层。 如果您选择此路线,请确保取消选择“缩放纸张”选项: “变换”:[('rotate',0.01)],#('scale paper',)], 由于此选项试图优化使用所有纸张,从饼图中生成曲线列线图。这看起来很酷,也更复杂,但将3个列线图组合在一起会让人感到痛苦。通过取消注释,您可以得到漂亮的棋子。在GIMP中覆盖它们,如有必要,使用旋转工具旋转棋子。确保移动棋子上的轴心点眼睛。 希望这对任何人都有帮助

注:请注意,在这种列线图样式中,所有刻度都是独立的(基本上覆盖着指向左侧和右侧的刻度),因此没有“自动跟随”任何内容

'title':r'your title here',
'tick_levels':4,
'tick_text_levels':2,
'tick_side':'right', 
'axis_color':color.gray(0.10),
'text_color':color.gray(0.10),
'title_color':color.gray(0.10),
}