【发布时间】:2021-11-20 02:49:56
【问题描述】:
我正在编写一些天文学代码,其中我正在绘制 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()
【问题讨论】:
-
你可以忽略 NumPy 导入,我试图用 NumPy 数组做一些事情,但我没有完全掌握这个概念,忘记删除导入。
-
(顺便说一句,
pandas已经包含了numpy,因此再次导入它不需要任何费用。您已经付出了代价。) -
所以在您的代码中,您是否尝试同时为两个方向设置颜色条,这是您的问题?
-
是的,我正在尝试让一个在 X 轴上,另一个在 Y 轴上。
标签: python pandas matplotlib plot astronomy