【问题标题】:Add colormap to polar plot将颜色图添加到极坐标图
【发布时间】:2022-07-25 20:15:26
【问题描述】:

我正在尝试制作一个半圆形的极坐标图,就像代码随附的那样。我想添加一个 ColorBar,以显示哪些颜色与 'v' 的哪些值相关联,但我无法做到,因为我不太了解它是如何工作的。

import numpy as np
import matplotlib.pyplot as plt
from math import sin, radians

# Theta and R
azimuths = np.radians(np.linspace(180, 360, 20))
zeniths = np.arange(0, 1000, 10)

# Some constant
v0 = 1
A=2.4e-24
alpha=radians(10)
n=3

r, theta = np.meshgrid(zeniths, azimuths)

# Function to plot
v = v0 - 2*A/(n+1) * (0.5*917*9.8 * sin(alpha))**n * r**(n+1)

fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
plt.figure(1)

ax.set_thetamin(180)
ax.set_thetamax(360)
ax.contourf(theta, r, v, cmap='coolwarm')
plt.show()

我已经尝试添加

plt.imshow(v)
plt.colorbar()

它添加了一个颜色条,但它改变了情节。我想解决方案很简单,但我找不到,如果有人可以帮助我了解它是如何工作的,谢谢:)

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    提供contourf的输出作为colorbar的映射:

    cont = ax.contourf(theta, r, v, cmap='coolwarm')
    fig.colorbar(cont)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 2013-06-13
      相关资源
      最近更新 更多