plt.axes().bar
时间: 2024-09-13 07:02:30 浏览: 29
`plt.axes().bar` 是 Python 中 Matplotlib 库的一个绘图方法,用于创建一个条形图。这个方法结合了创建坐标轴(Axes)和在该坐标轴上绘制条形图的步骤。
具体来说,`plt.axes()` 创建一个新的坐标轴(Axes)对象,这可以是一个子图或者是一个独立的图表。而 `.bar` 方法则是该坐标轴对象的一个方法,用于在新创建的坐标轴上绘制条形图。
这里是一个基本的例子来说明如何使用这个方法:
```python
import matplotlib.pyplot as plt
# 创建一个新的坐标轴(位于画布的左下角)
ax = plt.axes()
# 在这个坐标轴上绘制条形图
ax.bar([1, 2, 3], [5, 2, 3])
# 显示图表
plt.show()
```
在上面的代码中,我们首先导入了 `matplotlib.pyplot` 模块,并使用简写 `plt`。然后,我们调用 `plt.axes()` 创建了一个坐标轴,并将其赋值给变量 `ax`。接下来,我们使用 `ax.bar()` 方法在新创建的坐标轴上绘制了一个条形图,其中 `[1, 2, 3]` 是条形的位置,`[5, 2, 3]` 是对应的高度。最后,`plt.show()` 被调用来显示图表。
相关问题
import numpy as np import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False x = np.arange(3) y1 = np.array([61.8, 42.8, 48.0]) y2 = np.array([32.9, 12.5, 13.3]) bar_width = 0.3 plt.bar(x, y1, width=bar_width, alpha=0.8, color='skyblue', label='获得offer比例') plt.bar(x + bar_width, y2, width=bar_width, alpha=0.8, color='pink', label='签约比例') plt.title('不同院校求职毕业生获得offer与签约比例') plt.xlabel('学历') plt.ylabel('签约率') plt.xticks(x + bar_width/2, ['双一流院校', '普通本科院校', '专科院校']) plt.legend(loc='upper right') plt.show()给这个图片添加数据标签
可以使用 plt.text() 函数在每个柱状图上添加数据标签,代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
x = np.arange(3)
y1 = np.array([61.8, 42.8, 48.0])
y2 = np.array([32.9, 12.5, 13.3])
bar_width = 0.3
plt.bar(x, y1, width=bar_width, alpha=0.8, color='skyblue', label='获得offer比例')
plt.bar(x + bar_width, y2, width=bar_width, alpha=0.8, color='pink', label='签约比例')
plt.title('不同院校求职毕业生获得offer与签约比例')
plt.xlabel('学历')
plt.ylabel('签约率')
plt.xticks(x + bar_width/2, ['双一流院校', '普通本科院校', '专科院校'])
plt.legend(loc='upper right')
# 添加数据标签
for i, v in enumerate(y1):
plt.text(i - 0.1, v + 1, str(v) + '%', color='black', fontsize=12)
for i, v in enumerate(y2):
plt.text(i + bar_width - 0.1, v + 1, str(v) + '%', color='black', fontsize=12)
plt.show()
```
运行上述代码,就可以得到带有数据标签的柱状图了。
分析下列代码:import pandas as pd import matplotlib.pyplot as plt data = pd.read_excel("E:\\爬取\\爬取.xls") year_count = data.groupby(by="年份")["年份"].count() data['年份'] = pd.to_numeric(data['年份'], errors='coerce') plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams['axes.unicode_minus'] = False plt.plot(year_count.index, year_count.values) plt.title("电影年份发展折线图") plt.xlabel("年份") plt.ylabel("数量") plt.show() import pandas as pd import matplotlib.pyplot as plt data = pd.read_excel("E:\\爬取\\爬取.xls") plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams['axes.unicode_minus'] = False year_count = data['国家'].value_counts() plt.bar(year_count.index, year_count.values) plt.title("各个国家电影数量") plt.xlabel("国家") plt.ylabel("电影数量") plt.show() import pandas as pd import matplotlib.pyplot as plt data = pd.read_excel("E:\\爬取\\爬取.xls") plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams['axes.unicode_minus'] = False type_count = data["类型"].value_counts() plt.pie(type_count,labels=type_count.index,pctdistance=0.8,autopct='%1.1f%%',explode=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.01]) plt.figure(figsize=(20,6.5)) plt.title("电影主要类型分布图") plt.show() import pandas as pd import matplotlib.pyplot as plt data = pd.read_excel("E:\\爬取\\爬取.xls") scores = data["排名"].values votes = data["评价人数"].values plt.rcParams["font.sans-serif"] = ["SimHei"] plt.scatter(scores, votes) plt.title("排名与评价人数散点图") plt.xlabel("排名") plt.ylabel("评价人数") plt.show()
这段代码主要是用来对爬取到的电影数据进行数据可视化的处理。在代码中使用了 pandas 库对 Excel 数据进行读取和处理,使用了 matplotlib 库来绘制各种图表。
第一个代码块绘制了电影年份的发展折线图,其中先对年份进行了分组统计,然后使用 plot 函数将结果绘制出来。
第二个代码块绘制了各个国家电影数量的柱状图,其中使用了 value_counts 函数对国家进行统计,然后使用 bar 函数将结果绘制出来。
第三个代码块绘制了电影主要类型分布的饼图,其中使用了 value_counts 函数对电影类型进行统计,然后使用 pie 函数将结果绘制出来。
第四个代码块绘制了排名与评价人数的散点图,其中使用了 scatter 函数将排名和评价人数进行散点绘制。
阅读全文