<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 sns.countplot() sns.kdeplot()   核密度估计 sns.jointplot()   sns.boxplot()  sns.violinplot()
Step1:  jointplot   对应  kind=scatter/reg/hex/kde
Step2:  Red Blend 比Chardonnay variety得分更高一点
<ASSISTANT_TASK:>
Python Code:
sns.countplot(reviews['points'])
#reviews['points'].value_counts().sort_index().plot.bar()
plt.show()
sns.kdeplot(reviews.query('price < 200').price)
#reviews[reviews['price'] < 200]['price'].value_counts().sort_index().plot.line()
plt.show()
# 出现锯齿状
reviews[reviews['price'] < 200]['price'].value_counts().sort_index().plot.line()
plt.show()
#两个类别的关系
sns.kdeplot(reviews[reviews['price'] < 200].loc[:, ['price', 'points']].dropna().sample(5000))
plt.show()
sns.distplot(reviews['points'], bins=10, kde=False)
#reviews[reviews['price'] < 200]['price'].plot.hist() 对应直方图
plt.show()
Explanation: sns.countplot() sns.kdeplot()   核密度估计 sns.jointplot()   sns.boxplot()  sns.violinplot()
End of explanation
sns.jointplot(x='price', y='points', data=reviews[reviews['price'] < 100])
plt.show()
sns.jointplot(x='price', y='points', data=reviews[reviews['price'] < 100], kind='hex', 
              gridsize=20)
plt.show()
sns.jointplot(x='price', y='points', data=reviews[reviews['price'] < 100], kind='reg')
plt.show()
sns.jointplot(x='price', y='points', data=reviews[reviews['price'] < 100], kind='kde', 
              gridsize=20)
plt.show()
df = reviews[reviews.variety.isin(reviews.variety.value_counts().head(5).index)]
sns.boxplot(x='variety', y='points', data=df)
plt.show()
Explanation: jointplot   对应  kind=scatter/reg/hex/kde
End of explanation
sns.violinplot( x='variety',y='points',data=reviews[reviews.variety.isin(reviews.variety.value_counts()[:5].index)])
plt.show()
Explanation: Red Blend 比Chardonnay variety得分更高一点
End of explanation
<END_TASK>