首页 > 其他分享 >第六章

第六章

时间:2024-11-18 16:41:54浏览次数:1  
标签:plt labels nx rcParams 第六章 import font

6.1

import pandas as pd
import cvxpy as cp
import networkx as nx
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Times New Roman + SimSun + WFM Sans SC']
plt.rcParams['mathtext.fontset']='stix'
plt.rcParams['axes.unicode_minus']=False   
plt.rcParams['figure.dpi'] = 200
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='in'
nodes_labels = ['v' + str(i) for i in range(1, 7)]
nodes_labels = dict(zip(range(1,7), nodes_labels))

L1 = [(1,2), (1,3), (1,4), (2,3), (2,6), (3,4), (4,5), (5,6)]
G1 = nx.Graph()
G1.add_edges_from(L1)

L2 = [(1,2,7), (1,3,3), (1,4,12), (2,3,1), (2,6,1), (3,4,8), (4,5,9), (5,6,3)]
G2 = nx.Graph()
G2.add_weighted_edges_from(L2)

L3 = [(2,1,7), (1,3,3), (4,1,12), (2,3,1), (6,2,1), (3,4,8), (5,4,9), (5,6,3)]
G3 = nx.DiGraph()
G3.add_weighted_edges_from(L3)
fig = plt.figure(dpi=400, figsize=(9,3))

ax = fig.add_subplot(131)
pos1 = nx.planar_layout(G1)
nx.draw(G1, pos1, labels=nodes_labels, with_labels='True', font_color='w', node_size=100, font_size=8)

ax1 = fig.add_subplot(132)
pos2 = nx.planar_layout(G2)
nx.draw(G2, pos2, labels=nodes_labels, with_labels='True', font_color='w', node_size=100, font_size=8)
edgelabels = nx.get_edge_attributes(G2, 'weight')
nx.draw_networkx_edge_labels(G2, pos2, edge_labels=edgelabels, font_size=6)

ax2 = fig.add_subplot(133)
pos3 = nx.planar_layout(G3)
nx.draw(G3, pos3, labels=nodes_labels, with_labels='True', font_color='w', node_size=100, font_size=8)
edgelabels = nx.get_edge_attributes(G3, 'weight')
nx.draw_networkx_edge_labels(G3, pos3, edge_labels=edgelabels, font_size=6)

fig.show()
print(“2022310143024”)

6.3

import pandas as pd
import cvxpy as cp
import networkx as nx
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Times New Roman + SimSun + WFM Sans SC']
plt.rcParams['mathtext.fontset']='stix'
plt.rcParams['axes.unicode_minus']=False   
plt.rcParams['figure.dpi'] = 200
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='in'
L=[(1,2,20),(1,5,15),(2,3,20),(2,4,60),(2,5,25),
   (3,4,30),(3,5,18),(4,5,35),(4,6,10),(5,6,15)]
G = nx.Graph()
G.add_weighted_edges_from(L)
T = nx.minimum_spanning_tree(G)
w = nx.get_edge_attributes(T, 'weight')
print("最小生成树的长度为:", sum(w.values()))
nodes_labels = ['v' + str(i) for i in range(1, 7)]
nodes_labels = dict(zip(range(1,7), nodes_labels))
pos = nx.spring_layout(T)
nx.draw(T, pos, with_labels=True, labels=nodes_labels, font_color='w')
nx.draw_networkx_edge_labels(T, pos, edge_labels=w)
plt.show()
print(“2022310143024”)

6.4

import pandas as pd
import cvxpy as cp
import networkx as nx
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Times New Roman + SimSun + WFM Sans SC']
plt.rcParams['mathtext.fontset']='stix'
plt.rcParams['axes.unicode_minus']=False   
plt.rcParams['figure.dpi'] = 200
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='in'
price = np.array([2.5, 2.6, 2.8, 3.1])
sell = np.array([2.0, 1.6, 1.3, 1.1])
cost = np.array([0.3, 0.8, 1.5, 2.0])
cumsum_cost = np.cumsum(cost)
year_num = 4
W = np.zeros((year_num+1, year_num+1))
for i in range(year_num+1):
    W[i,i] = 0
for i in range(year_num+1):
    for j in range(i+1, year_num+1):
        W[i, j] = price[i] + cumsum_cost[j-i-1] - sell[j-i-1]
W[np.isinf(W)] = 0
G = nx.DiGraph(W)
path = nx.shortest_path(G, 0, year_num, weight='weight') 
dis = nx.shortest_path_length(G, 0, year_num, weight='weight')
print("应当在以下年份购置新设备", np.array(path[:-1]) + 1)
print("最少费用", round(dis,1))
#2022310143024

 

标签:plt,labels,nx,rcParams,第六章,import,font
From: https://www.cnblogs.com/yinhao3024/p/18553029

相关文章

  • 第六章 网络互连与互联网(六):域名和地址
    六、域名和地址Internet地址分为3级,可表示为“网络地址·主机地址·端口地址”的形式。其中,网络和主机地址即 IP地址:端口地址就是 TCP 或UDP地址,用于表示上层进程的服务访问点。TCP/IP网络中的大多数公共应用进程都有专用的端口号。下表列出了主要的专用端口......
  • 第六章 网络互连与互联网(八):路由器技术
    八、路由器技术在因特网发展过程中,面临的一个问题就是IP地址短缺问题。解决这个问题有两种方案。长期的解决方案就是使用具有更大地址空间的IPv6协议。短期的解决方案有网络地址翻译(NAT)和无类别的域间路由技术(GIDR)等,这些技术都是在现有的IPv4路由器中实现的。1.NAT技......
  • 第六章 网络互连与互联网(二):广域网互连
    二、广域网互连(1)广域网的互连一般采用在网络层进行协议转换的办法实现。这里使用的互连设备叫作网关,更确切地说,是路由器。(2)ISO标准化了的两种网络互连方法,即面向连接的互连方式和无连接的互连方式。1.OSI网络层内部结构(1)为了实现类型不同的子网互连,OSI把网络层划分为3......
  • 第六章 网络互连与互联网(一):网络互连设备
    一、网络互连设备(1)组成因特网的各个网络叫做子网,用于连接子网的设备叫作中间系统(IS),它的主要作用是协调各个网络的工作,使得跨网络的通信得以实现。(2)网络互连设备的作用是连接不同的网络。(3)网络互连设备可以根据它们工作的协议层进行分:中继器(Repeater)工作于物理层;网......
  • 【教程】第六章:合作伙伴——协作无间,灵活掌控
    在团队协作中,每个人都应该明确自己的职责和权限,才能确保工作顺利推进。今天,我们将一起来学习角色创建和权限管理,让协作更加顺畅、有序。别担心,这个过程并不复杂,我们会带你一步步完成,在每个关键环节引导你。如果你遇到任何问题,请随时来我们官方论坛求助。需求探讨:我们需要一个“......
  • CUDA开始的GPU编程 - 第六章:thrust库
    第六章:thrust库使用CUDA官方提供的thrust::universal_vector虽然自己实现CudaAllocator很有趣,也帮助我们理解了底层原理。但是既然CUDA官方已经提供了thrust库,那就用他们的好啦。#include<cuda_runtime.h>#include<thrust/universal_vector.h>//trusth库......
  • 第六章 分区
    对于大数据集或高吞吐量情况,仅复制数据不够,需进行分区(也叫分片)分区主要为了可扩展性,可将不同分区放于不共享集群的不同节点上,实现大数据集分布在多磁盘、查询负载分布在多处理器分区与复制每个节点可能是某些分区的领导者,同时是其他分区的追随者键值数据的分区将数据和查......
  • 第六章-继承和多态
    一、单项选择题1.有如下的类及对象的定义: classparentclass[] classsubclasslextendsparentclass|} parentclassa=newparentclass();subclass1b=newsubclass1();当执行语句a=b;时,结果是                              ......
  • JavaLin第六章:JavaLin的访问管理和默认响应
    文章目录前言一、JavaLin的访问管理二、JavaLin的默认响应总结前言最近忙起来了,就没有更新了,实在不不好意思,最近会进行javalin的陆陆续续的更新,希望大家支持。在Java里面有很多框架,其中权限管理是一个非常重要的功能实现,对于每个用户设定该用户的角色,对应相应用户......
  • 【第六章·循环控制结构】第四节:条件控制的循环
    目录条件控制的循环示例:简单的猜数游戏问题求解方法分析设定rand()函数随机数范围 示例:循环猜数游戏问题求解方法分析伪随机数解决随机数重复:使用srand()设置种子示例:限制次数的猜数游戏示例:能处理非法输入并清空输入缓冲区的猜数游戏问题求解方法分析处理非......