test_results = pd.DataFrame({'Month Number': {0: 11, 1: 2},
 'LSOA code': {0: 60, 1: 67},
 'Actual Frequency': {0: 13, 1: 1},
 'Linear Regression': {0: 3.326444, 1: 3.742185},
 'Ridge Regression': {0: 3.326444, 1: 3.742185}})
fig, ax = plt.subplots(figsize=(15, 8))
sns.pointplot(x='Month Number', y='Actual Frequency', ci=False, color='Red', data=test_results)
sns.pointplot(x='Month Number', y='Linear Regression', ci=False, color='Black', data=test_results)
sns.pointplot(x='Month Number', y='Ridge Regression', ci=False, color='Green', data=test_results)

मैं विभिन्न रंगों के साथ वास्तविक आवृत्ति, रैखिक और रिज प्रतिगमन के लिए एक बिंदु भूखंडों को प्रदर्शित करना चाहता हूं और उन्हें अलग करने के लिए रंग जोड़ना चाहता हूं।

0
Swikar 7 जिंदा 2021, 02:56
यह स्पष्ट नहीं है कि आप क्या करने की कोशिश कर रहे हैं। कृपया विस्तार से बताएं। मैं अनुमान लगा रहा हूं कि आप इसे एक प्लॉट में गतिशील रूप से करने में सक्षम होना चाहते हैं और एक hue पैरामीटर पास करना चाहते हैं? यदि आप ऐसा करना चाहते हैं, तो आपको पहले अपने डेटा में हेरफेर करने की आवश्यकता है। भविष्य में, कृपया अपना कोड प्रारूपित करें जैसा मैंने किया है और अपने डेटा को test_results.to_dict() के साथ टेक्स्ट के रूप में शामिल करें और फिर उसे pd.DataFrame() के अंदर रखें।
 – 
David Erickson
7 जिंदा 2021, 03:34
साथ ही, यदि मैंने आपके प्रश्न का उत्तर दे दिया है, तो कृपया मेरे समाधान के आगे स्थित चेकमार्क पर क्लिक करें। अगर आपको ऐसा करने के बारे में अधिक जानकारी की आवश्यकता है तो कृपया निम्न लिंक देखें: meta.stackexchange.com/questions/5234/…
 – 
David Erickson
7 जिंदा 2021, 03:35

1 उत्तर

सबसे बढ़िया उत्तर

आप अपना डेटाफ़्रेम melt कर सकते हैं। फिर आपके pointplot के लिए, आपको केवल तीन अलग-अलग पॉइंटप्लॉट बनाने के बजाय hue निर्दिष्ट करने की आवश्यकता है:

In[1]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
test_results = pd.DataFrame({'Month Number': {0: 11, 1: 2},
 'LSOA code': {0: 60, 1: 67},
 'Actual Frequency': {0: 13, 1: 1},
 'Linear Regression': {0: 3.326444, 1: 3.742185},
 'Ridge Regression': {0: 3.326444, 1: 3.742185}})
test_results

Out[1]:
   Month Number  LSOA code  Actual Frequency  Linear Regression  Ridge Regression 
0            11         60                13           3.326444          3.326444 
1             2         67                 1           3.742185          3.742185

In[2]:
fig, ax = plt.subplots(figsize=(15, 8))
test_results = test_results.melt(id_vars='Month Number', value_vars=df.columns[-3:])
test_results

Out[2]: 
   Month Number           variable      value
0            11   Actual Frequency  13.000000
1             2   Actual Frequency   1.000000
2            11  Linear Regression   3.326444
3             2  Linear Regression   3.742185
4            11   Ridge Regression   3.326444
5             2   Ridge Regression   3.742185

In[3]:
sns.pointplot(x='Month Number', y='value', hue='variable', ci=False, color='Red', data=test_results)

enter image description here

1
David Erickson 7 जिंदा 2021, 03:32