Python条形图和扇形图(水课调查问卷必备)

import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams['font.family'] = 'sans-serif'  # 设置中文字体
mpl.rcParams['font.sans-serif'] = ['SimHei']

# 创建数据和标签
labels = ['没必要', '1','2','3','非常需要']
sizes = [4/59, 5/59,7/59,15/59,28/59]

# 定义颜色
colors = ['lightgreen','gray', 'gold', 'lightskyblue', 'lightcoral']

# 绘制图表
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)

plt.axis('equal')  # 令饼图为正圆形

plt.show()  # 显示图表

在这里插入图片描述

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimHei']
values = [51, 30, 18, 12, 6]
labels = ['数据安全性', '文献准确性', '易操作性', '界面的美观性','其它']

plt.bar(range(len(values)), values, tick_label=labels)
plt.title('影响因素')
plt.xlabel('因素')
plt.ylabel('人数')
plt.xticks(range(len(values)), labels, rotation=0)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimHei']

values = [20, 35, 30, 25]
labels = ['苹果', '香蕉', '橙子', '梨子']

fig, ax = plt.subplots(figsize=(8, 6))

ax.barh(range(len(values)), values, tick_label=labels)

ax.set_title('水果销售统计')
ax.set_xlabel('销售量')
ax.set_ylabel('水果')
ax.xaxis.grid(True)

ax.set_yticks(range(len(labels)))
ax.set_yticklabels(labels[::-1])
ax.invert_yaxis()

plt.show()

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Dijkstra算法求解路径规划问题的Python代码。 ```python import heapq def dijkstra(graph, start, end): # 初始化距离和前驱字典 distances = {vertex: float('infinity') for vertex in graph} distances[start] = 0 previous_vertices = {vertex: None for vertex in graph} # 创建一个优先队列,将起点放进去 vertices = [(0, start)] heapq.heapify(vertices) while vertices: # 从优先队列中取出距离最小的节点 current_distance, current_vertex = heapq.heappop(vertices) # 如果当前节点已经到达终点,则返回路径 if current_vertex == end: path = [] while previous_vertices[current_vertex] is not None: path.append(current_vertex) current_vertex = previous_vertices[current_vertex] path.append(start) return path[::-1] # 遍历当前节点的邻居节点 for neighbor, weight in graph[current_vertex].items(): distance = current_distance + weight # 如果新的距离比原来的距离更短,则更新距离和前驱字典 if distance < distances[neighbor]: distances[neighbor] = distance previous_vertices[neighbor] = current_vertex heapq.heappush(vertices, (distance, neighbor)) # 如果无法到达终点,则返回None return None ``` 其中,`graph` 是一个字典,表示图的邻接表。例如,对于如下的图: ``` A --5-- B --3-- C | | | 2 4 6 | | | D --7-- E --1-- F ``` 邻接表可以表示为: ```python graph = { 'A': {'B': 5, 'D': 2}, 'B': {'A': 5, 'C': 3, 'E': 4}, 'C': {'B': 3, 'F': 6}, 'D': {'A': 2, 'E': 7}, 'E': {'B': 4, 'D': 7, 'F': 1}, 'F': {'C': 6, 'E': 1} } ``` `start` 和 `end` 分别是起点和终点的名称。例如,如果要从节点 A 到节点 F,可以调用函数: ```python path = dijkstra(graph, 'A', 'F') ``` 函数返回的是一个列表,表示从起点到终点的路径,例如 `[A, B, E, F]`。如果无法到达终点,则返回 `None`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_WAWA鱼_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值