import matplotlib.pyplot as plt # 设置饼图的数据和标签 data = [1007, 7427] labels = ['键盘侠', '普通网民'] # 设置饼图的颜色 colors = ['lavender', 'pink'] # 画饼图 plt.pie(data, labels=labels, colors=colors, autopct='%1.1f%%') # 显示饼图 plt.show(优化代码要求条形图上有数据并有高到矮的顺序)
时间: 2024-01-14 10:03:08 浏览: 23
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 matplotlib.pyplot as plt # 设置饼图的数据和标签 data = [1082, 7367] labels = ['量1', '量2'] # 设置饼图的颜色 colors = ['red', 'green'] # 画饼图 plt.pie(data, labels=labels, colors=colors) # 显示饼图 plt.show()改进代码要求饼图内有百分比
好的,你可以使用 `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 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()添加温度范围标签
你可以尝试在绘制饼图时添加温度范围标签。具体实现方式如下:
```
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据文件
df = pd.read_csv('TemperatureSales.csv')
# 分组并计算总销售额
grouped = df.groupby('temperature_range')['total_sales'].sum()
# 设置温度范围标签
labels = ['0-10°C', '10-20°C', '20-30°C', '>30°C']
# 绘制饼图
fig, ax = plt.subplots()
ax.pie(grouped, labels=labels, autopct='%1.1f%%')
ax.set_title('Sales by Temperature Range')
plt.show()
```
其中,`labels` 列表中包含了对应的温度范围标签,可以根据实际情况进行修改。