你能写一段代码用matplotlib绘制饼图吗
时间: 2023-06-05 09:05:24 浏览: 109
?当然可以,下面是一个使用matplotlib绘制饼图的简单示例代码:
```python
import matplotlib.pyplot as plt
# 定义数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['red', 'blue', 'green', 'yellow']
# 绘制饼图
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
# 添加标题
plt.title('Pie Chart')
# 显示图形
plt.show()
```
该代码将生成一个带有四个扇形的饼图,每个扇形的大小与给定的 `sizes` 列表中的元素对应,标签为 `labels` 中的值,颜色为 `colors` 中的颜色。在此示例中,饼图是用 `plt.pie()` 函数创建的,通过传递 `autopct` 参数可以将百分比值添加到每个扇形的中心,它表示小数位数为1的百分比形式。同时也可以通过 `startangle` 参数来设置饼图的起始角度。最后,使用 `plt.show()` 函数显示图形窗口。
相关问题
matplotlib绘制饼图
好的,我可以帮您解答关于matplotlib 绘制饼图的问题。您可以使用 matplotlib.pylab 模块中的 pie() 函数来绘制饼图。使用 matplotlib.pylab 模块的步骤如下:
1. 导入 matplotlib.pylab。
2. 创建一个列表,存储每个数据所占比例的大小。
3. 创建一个列表,存储每个数据所对应的标签。
4. 使用 pie() 函数生成饼图。
例如,以下代码展示了如何使用 matplotlib 绘制一个简单的饼图:
```
import matplotlib.pylab as plt
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.axis('equal')
plt.show()
```
这段代码将按照上述比例,生成一个带有标签的饼图,并将其显示出来。其中,autopct参数用于显示每个数据的具体数值(保留一位小数),axis参数用于设置图形坐标轴范围相等,以生成一个正圆。希望这能够解答您的问题。
python 删除一行值都为0的行 选取表格的几个特定行使用matplotlib 绘制饼图及直方图
删除一行值都为0的行:
假设有一个二维列表data,其中行数为n,列数为m。可以通过以下代码删除所有值都为0的行:
```
data = [[1,0,3],[0,0,0],[4,0,6]]
data = [row for row in data if sum(row)!=0]
print(data)
```
这段代码先遍历每一行,计算每一行的和sum(row),如果sum(row)不等于0,则选择该行保留。最终输出删除所有值都为0的行后的data。
选取表格的几个特定行使用matplotlib 绘制饼图及直方图:
假设有一个数据表格data,其中有3列:城市、销售额、利润。现在要选取其中的几个城市,绘制饼图和直方图。
首先,需要用pandas库读取数据表格,并选取需要的城市:
```
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
selected_cities = ['北京', '上海', '广州', '深圳']
data_selected = data[data['城市'].isin(selected_cities)]
```
这段代码选取了城市为北京、上海、广州、深圳的行,并保存到data_selected中。
接下来,可以用matplotlib库绘制饼图和直方图:
```
# 绘制饼图
sales = data_selected['销售额'].sum()
profits = data_selected['利润'].sum()
labels = ['销售额', '利润']
sizes = [sales, profits]
colors = ['yellowgreen', 'gold']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
plt.axis('equal')
plt.title('北京、上海、广州、深圳的销售额和利润')
# 绘制直方图
plt.figure()
plt.hist(data_selected['销售额'], bins=10, alpha=0.5, label='销售额')
plt.hist(data_selected['利润'], bins=10, alpha=0.5, label='利润')
plt.legend(loc='upper right')
plt.title('北京、上海、广州、深圳的销售额和利润')
plt.show()
```
这段代码首先计算了选取城市的销售额和利润,然后用pie函数绘制饼图,用hist函数绘制直方图。最后用show函数显示图形。
阅读全文