import matplotlib.pyplot as plt # 设置饼图的数据和标签 data = [1082, 7367] labels = ['量1', '量2'] # 设置饼图的颜色 colors = ['red', 'green'] # 画饼图 plt.pie(data, labels=labels, colors=colors) # 显示饼图 plt.show()改进代码要求饼图内有百分比
时间: 2024-01-22 19:03:04 浏览: 71
好的,你可以使用 `autopct` 参数来在饼图内显示百分比。以下是修改后的代码:
```python
import matplotlib.pyplot as plt
# 设置饼图的数据和标签
data = [1082, 7367]
labels = ['量1', '量2']
# 设置饼图的颜色
colors = ['red', 'green']
# 画饼图,并在饼图内显示百分比
plt.pie(data, labels=labels, colors=colors, autopct='%1.1f%%')
# 显示饼图
plt.show()
```
在上面的代码中,`autopct='%1.1f%%'` 表示在饼图内显示百分比,其中 `%1.1f` 表示保留一位小数,`%%` 表示输出百分号。你可以根据需要修改保留小数位数或者添加前缀后缀等。
相关问题
import matplotlib.pyplot as plt # 设置饼图的数据和标签 data = [1007, 7427] labels = ['键盘侠', '普通网民'] # 设置饼图的颜色 colors = ['lavender', 'pink'] # 画饼图 plt.pie(data, labels=labels, colors=colors, autopct='%1.1f%%') # 显示饼图 plt.show(优化代码要求条形图上有数据并有高到矮的顺序)
import matplotlib.pyplot as plt
# 设置条形图的数据和标签
data = [7427, 1007]
labels = ['普通网民', '键盘侠']
# 设置条形图的颜色
colors = ['pink', 'lavender']
# 画条形图
plt.bar(range(len(data)), data, color=colors)
# 设置标签和标题
plt.xlabel('人群')
plt.ylabel('数量')
plt.title('键盘侠和普通网民的对比')
# 显示数值
for x, y in enumerate(data):
plt.text(x, y+100, '%s' % y, ha='center')
# 调整x轴的标签
plt.xticks(range(len(data)), labels)
# 反转y轴,使得高的在上方
plt.gca().invert_yaxis()
# 显示条形图
plt.show()
import pandas as pd import matplotlib.pyplot as plt # 读取数据文件 df = pd.read_csv('TemperatureSales.csv') # 分组并计算总销售额 grouped = df.groupby('temperature_range')['total_sales'].sum() # 绘制饼图 fig, ax = plt.subplots() ax.pie(grouped, labels=grouped.index, autopct='%1.1f%%') ax.set_title('Sales by Temperature Range') plt.show()
这段代码是用 Python 的 pandas 和 matplotlib 库读取一个名为 TemperatureSales.csv 的数据文件,然后对数据进行分组并计算每组的总销售额。最后使用 matplotlib 库绘制了一个饼图展示销售额占比情况。具体来说,代码中的 df.groupby('temperature_range')['total_sales'].sum() 表示按照 temperature_range 列进行分组,然后计算每组的 total_sales 列的总和。ax.pie() 用来绘制饼图,其中 group 参数为每组的销售额,labels 参数为每组的标签(即 temperature_range 列的值),autopct 参数用来设置百分比的显示格式。最后 plt.show() 用来展示图像。
阅读全文