Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何在一个直方图中绘制多个列_Python_Pandas_Matplotlib_Histogram - Fatal编程技术网

Python:如何在一个直方图中绘制多个列

Python:如何在一个直方图中绘制多个列,python,pandas,matplotlib,histogram,Python,Pandas,Matplotlib,Histogram,我正在学习python,而我一直坚持的是基于FLT列绘制一个直方图来指示每个过滤器。我有这个数据框: VARLIST:MJD FLT FIELD FLUXCAL FLUXCALERR MAG MAGERR\ 0 OBS:55161.6克纳米-62.016 23.428纳米-0.410 1 OBS:55176.6克纳米-8.183 21.252纳米-2.820 2 OBS:55179.6克NaN 0.45119.109-4.134 46.053 3 OBS:55188.6 g NaN 511.9

我正在学习python,而我一直坚持的是基于FLT列绘制一个直方图来指示每个过滤器。我有这个数据框:

VARLIST:MJD FLT FIELD FLUXCAL FLUXCALERR MAG MAGERR\
0 OBS:55161.6克纳米-62.016 23.428纳米-0.410
1 OBS:55176.6克纳米-8.183 21.252纳米-2.820
2 OBS:55179.6克NaN 0.45119.109-4.134 46.053
3 OBS:55188.6 g NaN 511.964 21.218-11.773 0.045
4 OBS:55206.6 g NaN 682.704 22.329-12.086 0.036
..       ...      ...  ..    ...      ...         ...     ...     ...   
259 OBS:56659.6 z NaN 193.577 44.434-10.717 0.249
260 OBS:56662.6 z NaN 2.728 30.422-6.089 12.109
261 OBS:56667.7 z NaN 51.009 30.915-9.269 0.658
262 OBS:56681.5 z NaN 8.945 30.450-7.379 3.696
263 OBS:56754.3 z NaN 12.488 60.586-7.741 5.268
峰值磁场zpt27.5信噪比zpt27.5磁场Rr zpt27.5
0    55206.6    23.018741    -2.647089       -0.410262  
1    55206.6    25.217719    -0.385046       -2.820441  
2    55206.6    28.364559     0.023601       46.014133  
3    55206.6    20.726901    24.128759        0.045009  
4    55206.6    20.414419    30.574768        0.035519  
..       ...          ...          ...             ...  
259  55206.6    21.782866     4.356506        0.249282  
260  55206.6    26.410389     0.089672       12.110811  
261  55206.6    23.230883     1.649976        0.658191  
262  55206.6    25.121049     0.293760        3.696892  

263 55206.6 24.758768 0.206120 5.268770
这可以相对简单地使用

导致


seaborn是一条路要走。要绘制分布,seaborn库中有几个选项:sns.distplot()、sns.kdeplot()、sns.boxplot()、sns.histplot()。就我个人而言,我喜欢使用sns.distplot(),因为它为您提供了显示直方图和曲线的选项。

我非常感谢您。我一直被困在这个问题上,你可以用两行代码来完成。这太棒了,谢谢你让我接触到Seaborn的histplot函数!我想问你是怎么得到这些颜色的?我还想问你是怎么得到x轴的。Mag值应该在14-26之间,我对如何得到负值特别困惑没有问题!Seaborn使用列的名称获取轴和图例的标签。负值是由于我生成的示例数据造成的,因为您没有提供完整的数据集。
import pandas as pd
import numpy as np
import seaborn as sns

# construct some sample data
ps1_phot = pd.concat([pd.DataFrame({'FLT': flt, 'MAG': np.random.randn(1000) + i}) for i, flt in enumerate('girz')])

# plot overlapping histograms
sns.histplot(ps1_phot.dropna(subset=['MAG']), x='MAG', hue='FLT')