X 和 Y 轴上的 2 个颜色条

2 color bars in X and Y axis

我正在编写一些天文学代码,其中我正在绘制一个 Hr 图,问题是颜色在这里非常重要,X 轴和 Y 轴都必须被标记,但轴的比例不同.你会如何建议我这样做?我当前的代码如下。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_csv('Sagittarius_star_cloud.csv')
arr=data['bp_rp']
arr2=data['gp']
X=[]
Y=[]
for i in range(len(arr)):
    X.append(arr[i])
for i in range(len(arr2)):
    Y.append(arr2[i])
fig = plt.figure()
plt.ylim(max(Y), min(Y))
ax=fig.add_subplot(111)
plt.scatter(x=X, y=Y, c=X, cmap='Spectral_r')
plt.scatter(x=X, y=Y, c=Y, cmap='Spectral_r')
plt.colorbar(label="Star Color", orientation="horizontal")
plt.colorbar(label="Star Color", orientation="vertical")
plt.show()

我找到了适用于 Hr 图的映射(未来参考)

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
csv_file='Hertzsprung-Russell3_diagram.csv'
data=pd.read_csv(csv_file)
arr=data['bp_rp']
arr2=data['gp']
X=[]
Y=[]
for i in range(len(arr)):
    X.append(arr[i])
for i in range(len(arr2)):
    Y.append(arr2[i])
fig = plt.figure()
plt.ylim(max(Y), min(Y))
ax=fig.add_subplot(111)
plt.scatter(x=X, y=Y, c=X, cmap='RdYlBu_r')#cmap
plt.colorbar(label="Star Color", orientation="horizontal")
lhs,rhs=csv_file.split(".",1)
plt.title(lhs)
plt.show()