python画箱线图和直方图
时间: 2023-08-25 16:04:30 浏览: 61
你可以使用`matplotlib`库来画箱线图和直方图。下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一个随机数据集
np.random.seed(1)
data = np.random.normal(loc=0, scale=1, size=100)
# 画箱线图
plt.subplot(1, 2, 1)
plt.boxplot(data)
plt.title('Boxplot')
# 画直方图
plt.subplot(1, 2, 2)
plt.hist(data, bins=10)
plt.title('Histogram')
plt.show()
```
这段代码中,我们首先使用`numpy`库生成了一个包含100个符合正态分布的随机数的数据集。然后,我们使用`plt.boxplot()`函数画出箱线图,并使用`plt.hist()`函数画出直方图。最后,使用`plt.show()`函数显示图形。
你可以根据需要调整数据集和图形的参数,例如修改`loc`、`scale`和`size`来调整数据集的分布特征,修改`bins`来调整直方图的柱子数量等。
相关问题
分别使用python、R读取excel数据并进行统计分析,绘制箱线图、直方图并添加显著性
Python读取Excel数据进行统计分析并绘制图表:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取Excel数据
data = pd.read_excel("data.xlsx")
# 统计分析
mean = np.mean(data["value"])
median = np.median(data["value"])
std = np.std(data["value"])
# 绘制箱线图
plt.boxplot(data["value"])
plt.title("Boxplot of Data")
plt.show()
# 绘制直方图
plt.hist(data["value"], bins=10)
plt.title("Histogram of Data")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
# 添加显著性
plt.boxplot(data["value"], notch=True)
plt.title("Boxplot of Data with Notch")
plt.show()
plt.hist(data["value"], bins=10, edgecolor="black", alpha=0.5)
plt.title("Histogram of Data with Alpha and Edgecolor")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.axvline(mean, color="red", linestyle="dashed", linewidth=2)
plt.axvline(median, color="green", linestyle="dashed", linewidth=2)
plt.show()
```
R读取Excel数据进行统计分析并绘制图表:
```R
library(readxl)
library(ggplot2)
# 读取Excel数据
data <- read_excel("data.xlsx")
# 统计分析
mean <- mean(data$value)
median <- median(data$value)
sd <- sd(data$value)
# 绘制箱线图
ggplot(data, aes(x="", y=value)) +
geom_boxplot(fill="white", colour="black") +
theme_void() +
labs(title="Boxplot of Data")
# 绘制直方图
ggplot(data, aes(x=value)) +
geom_histogram(binwidth=1, colour="black", fill="white", alpha=0.5) +
labs(title="Histogram of Data", x="Value", y="Frequency")
# 添加显著性
ggplot(data, aes(x="", y=value)) +
geom_boxplot(fill="white", colour="black", notch=TRUE) +
theme_void() +
labs(title="Boxplot of Data with Notch")
ggplot(data, aes(x=value)) +
geom_histogram(binwidth=1, colour="black", fill="white", alpha=0.5) +
labs(title="Histogram of Data with Alpha and Edgecolor", x="Value", y="Frequency") +
geom_vline(xintercept=mean, color="red", linetype="dashed", size=1) +
geom_vline(xintercept=median, color="green", linetype="dashed", size=1)
```
python绘制散点图、直方图、箱线图、散点图矩阵、小提琴图、回归图和关系类图
以下是使用Python绘制常见的数据可视化图表的示例代码:
## 绘制散点图
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 1, 4, 2]
plt.scatter(x, y)
plt.show()
## 绘制直方图
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.show()
## 绘制箱线图
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(100, 5)
plt.boxplot(data)
plt.show()
## 绘制散点图矩阵
import seaborn as sns
import pandas as pd
iris = sns.load_dataset('iris')
sns.pairplot(iris, hue='species')
plt.show()
## 绘制小提琴图
import seaborn as sns
import pandas as pd
tips = sns.load_dataset('tips')
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips)
plt.show()
## 绘制回归图
import seaborn as sns
import pandas as pd
tips = sns.load_dataset('tips')
sns.lmplot(x="total_bill", y="tip", data=tips)
plt.show()
## 绘制关系类图
import seaborn as sns
import pandas as pd
tips = sns.load_dataset('tips')
sns.relplot(x="total_bill", y="tip", hue="smoker", style="time", data=tips)
plt.show()