分区折线图的绘制(python)

1 绘制结果展示

例子:

x = [0,1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14]
x=np.array(x)
y=np.sin(x)

结果展示:

2 python代码展示

import matplotlib.pyplot as plt                                             
import numpy as np                                                          
x = np.arange(0,10,0.1)                                                     
x=np.array(x)                                                               
y=np.sin(x)                                                                 
plt.style.use('seaborn-white')#设置背景风格                                       
plt.figure(figsize=(16,6))#设置图片大小                                           
plt.tick_params(labelsize=13)#设置坐标轴刻度字字体大小                                  
plt.xlabel('X', fontsize=18)#设置x轴标题及字体大小                                    
plt.ylabel('Y', fontsize=18)#设置y轴标题及字体大小                                    
plt.plot(x,y,color="lightgreen", linestyle=':', linewidth=1,                
            marker='o', markersize=5,                                       
            markeredgecolor='black', markerfacecolor='C2')#绘制折线图及其颜色绘制      
plt.fill_between(x[0:51],-1,1, color='r', alpha=0.1)#x轴范围x[0:8],y轴范围-1到1    
plt.fill_between(x[50:],-1,1, color='g', alpha=0.1)#x轴范围x[7:15],y轴范围-1到1    
plt.legend([ 'Val'], loc='upper right',fontsize=16)#绘制图样样例                  
plt.xlim([0,9.9])#绘制x轴范围                                                    
plt.ylim([-1, 1])#绘制y轴范围                                                    
plt.show()#展示图片                                                             
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于 Python 代码实现500个节点进行随机多项式、计算运行时间和所占内存、节点分区、对比结果和绘制折线图的示例代码: ```python import random import time import psutil import matplotlib.pyplot as plt # 生成随机多项式 def generate_random_polynomial(n): return [random.randint(1, 10) for i in range(n)] # 计算运行时间和所占内存 def calculate_running_time_and_memory(n): polynomial = generate_random_polynomial(n) start_time = time.time() process = psutil.Process() memory_before = process.memory_info().rss result = sum(polynomial) memory_after = process.memory_info().rss end_time = time.time() return end_time - start_time, memory_after - memory_before # 节点分区 def partition_nodes(n, num_partitions): return [i % num_partitions for i in range(n)] # 计算节点分区后的运行时间和所占内存 def calculate_running_time_and_memory_with_partition(n, num_partitions): partitions = partition_nodes(n, num_partitions) start_time = time.time() process = psutil.Process() memory_before = process.memory_info().rss result = 0 for partition in range(num_partitions): polynomial = [p for i, p in enumerate(partitions) if i % num_partitions == partition] result += sum(polynomial) memory_after = process.memory_info().rss end_time = time.time() return end_time - start_time, memory_after - memory_before # 计算运行时间和所占内存的列表 n_values = list(range(1, 501)) time_values = [] memory_values = [] partition_time_values = [] partition_memory_values = [] num_partitions = 10 for n in n_values: time_value, memory_value = calculate_running_time_and_memory(n) time_values.append(time_value) memory_values.append(memory_value) partition_time_value, partition_memory_value = calculate_running_time_and_memory_with_partition(n, num_partitions) partition_time_values.append(partition_time_value) partition_memory_values.append(partition_memory_value) # 绘制折线图 plt.plot(n_values, time_values, label='Time') plt.plot(n_values, memory_values, label='Memory') plt.plot(n_values, partition_time_values, label='Partition Time') plt.plot(n_values, partition_memory_values, label='Partition Memory') plt.xlabel('Number of Nodes') plt.ylabel('Time/Memory (Bytes)') plt.title('Performance Comparison') plt.legend() plt.show() ``` 此代码将生成500个节点的随机多项式,并比较计算该多项式的运行时间和所占内存,以及将节点分区后的运行时间和所占内存。最后,该代码使用 Matplotlib 库绘制了四条线(时间、内存、分区时间和分区内存)的折线图,以可视化比较结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值