python的matplotlib库polar_在Matplotlib / Python中更改Polar Plots的轴选项

我在Matplotlib中更改轴标签时遇到问题.我想更改Polar Plot中的径向轴选项.

基本上,我正在计算圆柱体的扭曲,这只是半径偏离原始(完全圆形)圆柱体的多少.一些失真值是负的,而一些是由于拉伸和压缩力而为正.我正在寻找一种以图形方式在圆柱坐标中表示这种情况的方法,所以我认为极地情节是我最好的选择. Excel为我提供了一个“雷达图表”选项,该选项足够灵活,可以指定最小和最大径向轴值.我想使用Matplotlib在Python上复制它.

我用于绘制极坐标的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.483,0.479,0.346,0.121,\

-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\

-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\

-0.137,-0.358]

fig1 = plt.figure()

ax1 = fig1.add_axes([0.1,0.1,0.8,0.8],polar=True)

ax1.set_rmax(1)

ax1.plot(theta,R1,lw=2.5)

我的情节如下:

但这不是我想要呈现它的方式.我想改变我的径向轴,以便我可以将数据显示为偏离某个参考值,比如说-2.如何在极坐标中询问Matplotlib更改最小轴标签?我可以在Excel中轻松完成这项工作.我选择最小径向值-2,得到以下Excel雷达图:

在Python上,我可以轻松地将输入数据偏移量为2.我的新数据集称为R2,如下所示:

#!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

R2 = [1.642,1.517,1.521,1.654,1.879,2.137,2.358,2.483,2.479,2.346,2.121,1.863,\

1.642,1.517,1.521,1.654,1.879,2.137,2.358,2.483,2.479,2.346,2.121,1.863,1.642,\

1.517,1.521,1.654,1.879,2.137,2.358,2.483,2.479,2.346,2.121,1.863,1.642]

fig2 = plt.figure()

ax2 = fig2.add_axes([0.1,0.1,0.8,0.8],polar=True)

ax2.plot(theta,R2,lw=2.5)

ax2.set_rmax(1.5*offset)

plt.show()

情节如下所示:

一旦我得到这个,我可以手动添加轴标签并将其硬编码到我的脚本中.但这是一种非常丑陋的方式.有没有什么方法可以直接获得相当于Excel雷达图表的Matplotlib并更改我的轴标签而无需操纵我的输入数据?

解决方法:

您可以使用设置轴限制的常规方法:

#!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.483,0.479,0.346,0.121,\

-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\

-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\

-0.137,-0.358]

fig1 = plt.figure()

ax1 = fig1.add_axes([0.1,0.1,0.8,0.8],polar=True)

ax1.set_ylim(-2,2)

ax1.set_yticks(np.arange(-2,2,0.5))

ax1.plot(theta,R1,lw=2.5)

标签:python,matplotlib,plot,polar-coordinates,axis-labels

来源: https://codeday.me/bug/20190613/1234295.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值