python - X 和 Y 轴上的 2 个彩条
问题描述
我正在编写一些天文学代码,其中我正在绘制 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()
解决方案
我找到了一个适用于人力资源图的映射(未来参考)
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()
推荐阅读
- c# - 无法将 XML 读取到对象
- solr - Solr 停用词没有被删除
- php - 如何使用带有重定向 URL 的 FPDI SetSourceFile?
- python - ModuleNotFound 错误:未找到 Mysql 模块?
- java - 如何在序列化程序类中调用默认方法
- linux - 在运行级别 3 中无法登录
- r - 将趋势线添加到条形图
- ios - 从左到右滑动动画背景颜色 UIView 或 UIButton
- sql-server - Delphi 注册一个 dbexpress dll (dbexpsda40.dll) & Windows 服务无法启动和卸载
- c# - 结构不是 protobuf-net 中有效的接口子类型