2017-08-30 17 views
0

私はIris datasetを解析しており、ペタルの幅とペタルの長さの間に散布図を作成しました。私はこのコードを使用し、プロット作成するには:その後seaborn regplotはデータポイントの色を削除します

# First, we'll import pandas, a data processing and CSV file I/O library 
import pandas as pd 
# We'll also import seaborn, a Python graphing library 
import warnings # current version of seaborn generates a bunch of warnings that we'll ignore 
warnings.filterwarnings("ignore") 
import seaborn as sns 
import matplotlib.pyplot as plt 
import numpy 
sns.set(style="dark", color_codes=True) 

# Next, we'll load the Iris flower dataset, which is in the "../input/" directory 
iris = pd.read_csv("Iris.csv") # the iris dataset is now a Pandas DataFrame 

# Let's see what's in the iris data - Jupyter notebooks print the result of the last thing you do 
print(iris.head(10)) 

# Press shift+enter to execute this cell 
sns.FacetGrid(iris, hue="Species", size=10) \ 
    .map(plt.scatter, "PetalLengthCm", "PetalWidthCm") \ 
    .add_legend() 

enter image description here

を私は回帰直線をプロットしたが、このラインをプロットした後、色がうまく表示されません。私は回帰直線の色を変えようとしましたが、これは助けになりませんでした。異なる種の色を失うことなく回帰直線をプロットするにはどうすればよいですか?

回帰直線を含んでプロットを作成するためのコードは次のとおりです。

sns.FacetGrid(iris, hue="Species", size=10) \ 
    .map(plt.scatter, "PetalLengthCm", "PetalWidthCm") \ 
    .add_legend() 
sns.regplot(x="PetalLengthCm", y="PetalWidthCm", data=iris) 

petal_length_array = iris["PetalLengthCm"] 
petal_width_array = iris["PetalWidthCm"] 

r_petal = numpy.corrcoef(petal_length_array, petal_width_array) # bereken de correlatie 

print ("Correlation is : " + str(r_petal[0][1])) 

enter image description here

答えて

2

あなたの問題はsns.regplot()が異なるとの点の上に、すべてのポイントを同じ色を描くことです色。

これを避けるには、個々のデータポイントがプロットされないようにregplot(..., scatter=False)を呼び出してみてください。 Check the documentation for regplot.

関連する問題