1柱状图
# 导入所需库
import numpy as np
import matplotlib.pyplot as plt
# 创建数据集
height = [3, 12, 5, 18, 45]
bars = ('A', 'B', 'C', 'D', 'E')
x_pos = np.arange(len(bars))
# 创建柱状图
plt.bar(x_pos, height)
# 设置 x 轴标签
plt.xticks(x_pos, bars)
# 显示图形
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3RIROXSs-1685968730541)(output_1_0.png)]
2散点图
# 导入所需库
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 创建数据集
x = np.random.rand(80) - 0.5
y = x+np.random.rand(80)
z = x+np.random.rand(80)
df = pd.DataFrame({
'x':x, 'y':y, 'z':z})
# 使用色板绘制散点图
sns.lmplot(x='x', y='y', data=df, fit_reg=False, hue='x', legend=False, palette="Blues")
plt.show()
# 翻转颜色顺序再次绘制散点图
sns.lmplot(x='x', y='y', data=df, fit_reg=False, hue='x', legend=False, palette="Blues_r")
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-80gMloqE-1685968730542)(output_3_1.png)]
3箱线图
# 导入所需库
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 生成数据集
data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
# 设置不同的主题并绘制箱线图
sns.set_style("whitegrid")
sns.boxplot(data=data)
plt.title("whitegrid")
plt.show()
sns.set_style("darkgrid")
sns.boxplot(data=data);
plt.title("darkgrid")
plt.show()
sns.set_style("white")
sns.boxplot(data=data);
plt.title("white")
plt.show()
sns.set_style("dark")
sns.boxplot(data=data);
plt.title("dark")
plt.show()
sns.set_style("ticks")
sns.boxplot(data=data);
plt.title("ticks")
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKJsaqyQ-1685968730543)(output_5_0.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c7ljri8T-1685968730543)(output_5_1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SosqfJJx-1685968730543)(output_5_2.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gd9Mx6D3-1685968730544)(output_5_3.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EXAd4woq-1685968730544)(output_5_4.png)]
4折线图
# 导入所需库
from matplotlib import pyplot as plt
import pandas as pd
import numpy as np
# 创建数据集
df=pd.DataFrame({
'x_axis': range(1,101), 'y_axis': np.random.randn(100)*15+range(1,101), 'z': (np.random.randn(100)*15+range(1,101))*2 })
# 使用 matplotlib 绘制折线图
plt.plot('x_axis', 'y_axis', data=df, marker='o', color='mediumvioletred')
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cyOx5Y3d-1685968730544)(output_7_0.png)]
5聚集散点图
# 库
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
# 数据集
df=pd.DataFrame({
'x': np.random.normal(10, 1.2, 20000), 'y': np.random.normal(10, 1.2, 20000), 'group': np.repeat('A',20000) })
tmp1=pd.DataFrame({
'x': np.random.normal(14.5, 1.2, 20000), 'y': np.random.normal(14.5, 1.2, 20000), 'group': np.repeat('B',20000) })
tmp2=pd.DataFrame({
'x': np.random.normal(9.5, 1.5, 20000), 'y': np.random.normal(15.5, 1.5, 20000), 'group': np.repeat('C',20000) })
df=df.append(tmp1).append(tmp2)
# 显示
plt.plot( 'x', 'y', "", data=df, linestyle='', marker='o')
plt.xlabel('Value of X')
plt.ylabel('Value of Y')
plt.title('Overplotting looks like that:', loc='left')
plt.show()
C:\Users\Administrator\AppData\Local\Temp\ipykernel_14156\1354801395.py:11: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
df=df.append(tmp1).append(tmp2)
C:\Users\Administrator\AppData\Local\Temp\ipykernel_14156\1354801395.py:14: UserWarning: linestyle is redundantly defined by the 'linestyle' keyword argument and the fmt string "" (-> linestyle='-'). The keyword argument will take precedence.
plt.plot( 'x', 'y', "", data=df, linestyle='', marker='o')
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLqXxwHR-1685968730544)(output_9_1.png)]
6饼图
# 库
import pandas as pd
import matplotlib.pyplot as plt
# 数据集
df = pd.DataFrame([8,8,1,2], index=['a', 'b', 'c', 'd'], columns=['x'])
#制定计划
df.plot(kind='pie', subplots=True, figsize=(8, 8))
# 显示
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57ChS3Id-1685968730545)(output_11_0.png)]
7棒棒糖图
# 库
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x=range(1,41)
values=np.random.uniform(size=40)
# 函数
plt.stem(x, values)
plt.ylim(0, 1.2)
plt.show()
# stem 函数
plt.stem(values)
plt.show()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRtmzkA4-1685968730545)(output_13_0.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iM7fqSHt-1685968730545)(output_13_1.png)]
8
# 库
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 数据集
df = pd.DataFrame({
'group':list(map(chr, range(65, 85))), 'values':np.random.uniform(size=20) })
# 排列顺序
ordered_df = df.sort_values(by='values')
my_range=range(1,len(df.index)+1)
# 绘制图
plt.stem(ordered_df['values'])
plt.xticks( my_range, ordered_df['group'])
plt